❤️ Author: 老九
☕️ 个人博客:老九的CSDN博客
🙏 个人名言:不可控之事 乐观面对
😍 系列专栏:
文章目录
- 数据类型
- 整型变量 int
- 长整型变量 long
- 单精度浮点数 float
- 双精度浮点数 double
- 字符类型 char
- 字节类型 byte
- 短整型变量 short
- 布尔类型变量 boolean
- 字符串类型 String
- 逻辑控制
- 分支结构
- if语句
- switch语句
- 循环结构
- while循环
- break
- continue
- for循环
数据类型
整型变量 int
int num = 10;
System.out.println(num) ;
这里就是定义一个整型变量,变量名是 num 赋初值为 10。然后输出 num 的值
在 Java 当中 int 是 4 个字节,和操作系统没有关系,因为 Java 的运行是在 Java 虚拟机 JVM 当中运行的,所以类型的大小和操作系统没有关系。
在 Java 当中,可以直接求出某个类型的最大值和最小值。例如求 int 类型的最大和最小值,就可以用到 Java 的包装类 Integer :
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 变量名 = 初始值;
代码举例:
long a = 10L;
System.out.println(a);
Java 当中 Long 占 8 个字节,就是 64 个比特位。所以 long 的表示范围是: -2^63 到 2^63-1 。当然 long 类型也有对应的包装类 Long 。使用其包装类也可以求出对应的最大和最小值。
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 来表示这是一个浮点数。代码示例:
float a = 1.0f;
System.out.println(a);
当然 float 也有对应的包装类:Float 。但是在项目当中使用浮点数的时候,能用 double 就用 double 因为 double 的精度更高。而且精度范围更大。下面我们来认识 double 。
双精度浮点数 double
双精度浮点数 double 用来表示小数,但是精度更高。
double a = 1.0;
System.out.println(a);
我们在使用除法求小数的时候,一定要将一个除数变为 double 类型,不然就会出现下面这样的情况:
int a = 1;
int b = 2;
System.out.println(a / b);
结果是 0 ,因为除的结果应该是 0.5 但因为是 int 类型,所以结果就变成了 0 。当我们要求得小数的时候,一定要让一个除数变成小数。
Java 的 double 类型精度很高,比如下面这个例子:
double num = 1.1;
System.out.println(num * num);
在我们的认识当中,结果应该是 1.21 但这里的结果却不一样。因为浮点数的内存布局和整数差别很大, 不能单纯的用 2^n 的形式表示数据范围。
字符类型 char
用单引号引起来的是表示字符,例如:
char ch = 'A';
System.out.println(ch);
在 Java 当中,用 Unicode 表示字符,因此一个字符占两个字节,这样就能表示更多的字符,包括中文。
字节类型 byte
byte 是 Java 当中新出来的类型,大小为一个字节,8 个比特位,所以表示的范围就是 -128 到 127 。语法格式:
byte value = 10;
System.out.println(value);
短整型变量 short
short 也是整型的一种,不过是两个字节,表示的范围更小了,范围是:-32768 到 +32767 。语法如下:
short value = 10;
System.out.println(value);
在项目当中使用到时候,一般不建议使用 short 因为表示的范围较小,不如直接使用 int 。
布尔类型变量 boolean
在 Java 当中 boolean 类型用来表示表达式的真假,真:true 、假:false 。表达式:
boolean value = true;
System.out.println(value);
要注意的是:
1.boolean 类型的变量只有两种取值, true 表示真, false 表示假.
2.Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法.
字符串类型 String
把一些字符合起来就变成了字符串,String 就是表示字符串的类型。语法:
String str = "Lockey";
String str1 = "qwer";
System.out.println(str+str1);
System.out.println(str+123);
逻辑控制
分支结构
if语句
判断一个数是奇数还是偶数
int num = 10;
if (num % 2 == 0) {
System.out.println("num 是偶数");
} else {
System.out.println("num 是奇数");
}
判定一年是不是闰年
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语句
switch(整数|枚举|字符|字符串){
case 内容1 : {
内容满足时执行语句;
[break;]
}
case 内容2 : {
内容满足时执行语句;
[break;]
}
...
default:{
内容都不满足时执行语句;
[break;]
}
}
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的和
int n = 1;
int sum = 0;
while (n <= 10){
sum += n;
n++;
}
System.out.println(sum);
break
break 就是让循环提前结束。例如:找到 1 - 10 中第一个 3 的倍数。
int num = 1;
while (num <= 10) {
if (num % 3 == 0) {
System.out.println("找到了 3 的倍数 为:" + num);
break;
}
num++;
}
continue
continue 的功能是跳过这次循环, 进入下次循环。就是这次循环当中 continue 下面的代码不执行,进入下一次循环。例如:找到 100 - 200 中所有 3 的倍数。
int num = 100;
while (num <= 200) {
if (num % 3 != 0) {
num++;
continue;
}
System.out.println("找到了 3 的倍数, 为:" + num);
num++;
}
for循环
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
System.out.println("sum = " + sum);
————————————————————————
♥♥♥码字不易,大家的支持就是我坚持下去的动力♥♥♥
版权声明:本文为CSDN博主「亚太地区百大最帅面孔第101名」的原创文章