【JAVA基础】数据类型,逻辑控制

❤️ Author: 老九

☕️ 个人博客:老九的CSDN博客

🙏 个人名言:不可控之事 乐观面对

😍 系列专栏:

文章目录

  • 数据类型
    • [整型变量 int](#整型变量 int)
    • [长整型变量 long](#长整型变量 long)
    • [单精度浮点数 float](#单精度浮点数 float)
    • [双精度浮点数 double](#双精度浮点数 double)
    • [字符类型 char](#字符类型 char)
    • [字节类型 byte](#字节类型 byte)
    • [短整型变量 short](#短整型变量 short)
    • [布尔类型变量 boolean](#布尔类型变量 boolean)
    • [字符串类型 String](#字符串类型 String)
  • 逻辑控制

数据类型

整型变量 int

java 复制代码
int num = 10;
System.out.println(num) ;

这里就是定义一个整型变量,变量名是 num 赋初值为 10。然后输出 num 的值

在 Java 当中 int 是 4 个字节 ,和操作系统没有关系,因为 Java 的运行是在 Java 虚拟机 JVM 当中运行的,所以类型的大小和操作系统没有关系。

在 Java 当中,可以直接求出某个类型的最大值和最小值。例如求 int 类型的最大和最小值,就可以用到 Java 的包装类 Integer :

java 复制代码
System.out.println(Integer.MAX_VALUE);  
System.out.println(Integer.MIN_VALUE);  

因为 1 个字节是 8 个比特位。所以 4 个字节就是 32 个比特位。所以能表示的大小就是:最大是 2^31-1 最小是 -2^31 。

平时使用 int 类型的时候,一定要注意大小和范围,不然就会导致溢出,溢出就会使结果不准确。

长整型变量 long

长整型变量也是整型,不过表示的范围比整型更大。当整型表示的范围不够的时候,就可以使用长整型来表示。要注意的是,定义的时候要在数字的后面加上 L 。

语法格式:

long 变量名 = 初始值;

代码举例:

java 复制代码
long a = 10L;
System.out.println(a);

Java 当中 Long 占 8 个字节,就是 64 个比特位。所以 long 的表示范围是: -2^63 到 2^63-1 。当然 long 类型也有对应的包装类 Long 。使用其包装类也可以求出对应的最大和最小值。

java 复制代码
long a = Long.MAX_VALUE;
long b = Long.MIN_VALUE;
System.out.println(a);
System.out.println(b);

long 表示的范围比 int 大很多,所以需要很大的数的时候,就使用 long 。

单精度浮点数 float

在求小数的时候,如果对精度要求不高,就可以使用 float 。float 占 4 个字节,就是 32 个比特位,适用于对精度要求不高的场景。

使用的时候,也要在数字后面加上 F 来表示这是一个浮点数。代码示例:

java 复制代码
float a = 1.0f;
System.out.println(a);

当然 float 也有对应的包装类:Float 。但是在项目当中使用浮点数的时候,能用 double 就用 double 因为 double 的精度更高。而且精度范围更大。下面我们来认识 double 。

双精度浮点数 double

双精度浮点数 double 用来表示小数,但是精度更高。

java 复制代码
double a = 1.0;
System.out.println(a);

我们在使用除法求小数的时候,一定要将一个除数变为 double 类型,不然就会出现下面这样的情况:

java 复制代码
int a = 1;
int b = 2;
System.out.println(a / b);

结果是 0 ,因为除的结果应该是 0.5 但因为是 int 类型,所以结果就变成了 0 。当我们要求得小数的时候,一定要让一个除数变成小数。

Java 的 double 类型精度很高,比如下面这个例子:

java 复制代码
double num = 1.1;
System.out.println(num * num);

在我们的认识当中,结果应该是 1.21 但这里的结果却不一样。因为浮点数的内存布局和整数差别很大, 不能单纯的用 2^n 的形式表示数据范围。

字符类型 char

用单引号引起来的是表示字符,例如:

java 复制代码
char ch = 'A';
System.out.println(ch);

在 Java 当中,用 Unicode 表示字符,因此一个字符占两个字节,这样就能表示更多的字符,包括中文。

字节类型 byte

byte 是 Java 当中新出来的类型,大小为一个字节,8 个比特位,所以表示的范围就是 -128 到 127 。语法格式:

java 复制代码
byte value = 10; 
System.out.println(value); 

短整型变量 short

short 也是整型的一种,不过是两个字节,表示的范围更小了,范围是:-32768 到 +32767 。语法如下:

java 复制代码
short value = 10; 
System.out.println(value); 

在项目当中使用到时候,一般不建议使用 short 因为表示的范围较小,不如直接使用 int 。

布尔类型变量 boolean

在 Java 当中 boolean 类型用来表示表达式的真假,真:true 、假:false 。表达式:

java 复制代码
boolean value = true; 
System.out.println(value);

要注意的是:

1.boolean 类型的变量只有两种取值, true 表示真, false 表示假.

2.Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法.

字符串类型 String

把一些字符合起来就变成了字符串,String 就是表示字符串的类型。语法:

java 复制代码
String str = "Lockey";
String str1 = "qwer";
System.out.println(str+str1);
System.out.println(str+123);

逻辑控制

分支结构

if语句

判断一个数是奇数还是偶数

java 复制代码
int num = 10;
if (num % 2 == 0) {
    System.out.println("num 是偶数");
} else {
    System.out.println("num 是奇数");
}

判定一年是不是闰年

java 复制代码
Scanner scanner = new Scanner(System.in);
int i = scanner.nextInt();
if ((i % 4 == 0 && i % 100 != 0) || (i % 400 == 0)) {
System.out.println(i + " 是闰年");
} else {
System.out.println(i + " 不是闰年");
}

注意:else 只与最近的 if 相匹配

switch语句

java 复制代码
switch(整数|枚举|字符|字符串){
 case 内容1 : {
 内容满足时执行语句;
 [break;]
 }
 case 内容2 : {
 内容满足时执行语句;
 [break;]
 }
 ...
 default:{
 内容都不满足时执行语句;
 [break;]
 } 
}
java 复制代码
int day = 7;
switch (day) {
    case 1:
        System.out.println("星期一");
        break;
    case 2:
        System.out.println("星期二");
        break;
    case 3:
        System.out.println("星期三");
        break;
    case 4:
        System.out.println("星期四");
        break;
    case 5:
        System.out.println("星期五");
        break;
    case 6:
        System.out.println("星期六");
        break;
    case 7:
        System.out.println("星期日");
        break;
    default:
        System.out.println("此数字不属于星期");
        break;
}

循环结构

while循环

求1~10的和

java 复制代码
int n = 1;
int sum = 0;
while (n <= 10){
    sum += n;
    n++;
}
System.out.println(sum);

break

break 就是让循环提前结束。例如:找到 1 - 10 中第一个 3 的倍数。

java 复制代码
int num = 1;
while (num <= 10) {
    if (num % 3 == 0) {
        System.out.println("找到了 3 的倍数 为:" + num);
        break;
    }
    num++;
}

continue

continue 的功能是跳过这次循环, 进入下次循环。就是这次循环当中 continue 下面的代码不执行,进入下一次循环。例如:找到 100 - 200 中所有 3 的倍数。

java 复制代码
int num = 100; 
while (num <= 200) { 
 if (num % 3 != 0) { 
 num++;
 continue; 
 } 
 System.out.println("找到了 3 的倍数, 为:" + num); 
 num++; 
} 

for循环

java 复制代码
int sum = 0; 
for (int i = 1; i <= 100; i++) { 
 sum += i; 
} 
System.out.println("sum = " + sum); 

♥♥♥码字不易,大家的支持就是我坚持下去的动力♥♥♥
版权声明:本文为CSDN博主「亚太地区百大最帅面孔第101名」的原创文章

相关推荐
李少兄8 分钟前
【java基础】Java 中的继承
java·开发语言
Ai 编码助手13 分钟前
idea里的插件spring boot helper 如何使用,有哪些强大的功能,该如何去习惯性的运用这些功能
java·spring boot·intellij-idea
web1376560764319 分钟前
快速上手 Spring Boot:基础使用详解
java·spring boot·后端
m0_7482365823 分钟前
Java高级开发进阶教程之系列
java·开发语言
猿小蔡-Cool25 分钟前
Java中将异步调用转为同步的五种方法
java·数据库·python
奔跑吧邓邓子25 分钟前
【Python爬虫(80)】当Python爬虫邂逅边缘计算:探索数据采集新境界
开发语言·爬虫·python·边缘计算
沐雲小哥32 分钟前
C++ 八股(整理记录)
开发语言·c++
bing_15834 分钟前
策略模式 (Strategy)详解
java
C嘎嘎嵌入式开发36 分钟前
C++之vector和list辨析
开发语言·c++·算法
Utgnryk43 分钟前
hot100-二叉树
java