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

❤️ 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名」的原创文章

你可能感兴趣的:(#,JAVA,java,开发语言)