重生之我在地球Online当程序员4

拓展
1、8种基础数据类型,归类整理,整数家族几个,小数家族几个…

Java数据类型:基本数据类型,引用数据类型

基本数据类型:整数类型、浮点类型、字符类型、布尔类型

image-20240511095733835

byte 是计算机的最小存储单位,1byte = 8 位,取值范围:-128 到 127

short 是2个byte,取值范围:-32768 到 32767

int是4个byte, 取值范围:-2147483648~2147483647 正负21亿!

long是8个byte, 取值范围:-9223372036854775808至9223372036854775807

public static void main(String[] args) {
    //整数类型
    byte b = 127;//-128 到 127
    short c = 32767;//-32768 到 32767
    int a = 10;//-21亿
    long d = 10;
    //字符类型
    char e = 'A';
    //布尔类型
    boolean f = false;//false,true
    //浮点类型
    double g = 3.14;
    float h = 3.12F;//F 或 f
}

public static void main(String[] args) {
    //在Java中基本数据类型,可以相互转换,但是转换的规则是:
    //小容量的数据变量,可以向 大容量的数据变量进行直接转换
    //但是大容量的数据变量,不能直接向 小容量的数据变量进行转换;如果非要转换,请使用 强制转换符
    // 语法:小容量的数据类型 变量 = (小容量的数据类型) 大容量的值;
    int a = 32768;
    short b = (short)a;
    System.out.println(b);
}

image-20240511104300303

2、++i和i++? 变量使用的注意事项,数组的特点
public static void main(String[] args) {
    //        int i = 10;
    //        ++ i;// i++ & ++i  在单独使用时,效果是一样的,都是替代:i = i + 1;
    //        System.out.println(i);
    //但是 不单独使用呢?
    //        int a = 5;
    //        System.out.println(a ++);// ++ 在后,先使用变量的值,然后再让变量 + 1
    //        System.out.println(a);
    int b = 5;
    System.out.println(++ b);// ++ 在前,先让变量的值+1,然后再使用
    System.out.println(b);
}

案例:

public static void main(String[] args) {
    int a = 4;
    int b = 5;
    //      4   + 6   + 5
    int c = a++ + ++b + a++;
    System.out.println(a);//6
    System.out.println(b);//6
    System.out.println(c);//15 
}

短路和 以及 短路或:

短路&& 前面的任意一个条件为false,后面的条件都不需要去执行

短路|| 前面的任意一个条件为true, 后面的条件都不需要去执行

public static void main(String[] args) {
    int a = 5;
    int b = 4;
    //        //&& 逻辑和/逻辑与 要求:两边的条件必须要同时满足,才为true
    //        // 但是,也被称为:短路和/短路与
    //        System.out.println((a++ > 5) && (b-- < 4));
    //        System.out.println(a);//6
    //        System.out.println(b);//4
    //|| 逻辑或  要求:两边的条件任意一个满足,就是true
    //但是,也被称为:短路或
    System.out.println((a++ > 4) || (b-- < 5));
    System.out.println(a);//6
    System.out.println(b);//3
}

变量使用的注意事项:

public class DataTypeDemo {
    public static void main(String[] args) {
        //变量语法:数据类型 变量名称 = 初值;
//        int a;
//        System.out.println(a);//1、变量没有定义初始值
//        int a = "11"; //2、数据类型不匹配
//        for(;;){
//            int a = 11;
//        }
//        a++;   //3、脱离变量的定义范围
        int a = 11;
        System.out.println(a);
        int a = 20; //4、变量名重复定义
    }
}

数组的特点:

1、存储空间是连续的

2、数组中值的类型是相同

3、数组的长度是固定的


3、&和&&,|和||

-短路运算

&& || 逻辑和 逻辑或,说他们具备短路效果!

& | 又是什么呢? & 按位与 | 按位或

public static void main(String[] args) {
        int a = 4;
        int b = 5;
        //& 同为1 为1        | 只要有1,就是1        ^  01 才是1
        //0000 0100
        //0000 0101
        //0000 0001
        System.out.println(a ^ b);
    }

& | 两端也可以放置条件,但是不具备短路效果

public class DataTypeDemo {
    public static void main(String[] args) {
        int a = 4;
        int b = 5;
//        System.out.println((a++ > 4) & (--b < 5));//不具备短路效果
        System.out.println((a++ > 3) | (--b > 3));
        System.out.println(a);// 5
        System.out.println(b);// 4
    }
}

image-20240511120019912

4、if-else与平行双if的区别?
if(条件){
   //业务1 
}else{
    //业务2
}
if(条件1){
    //业务1
}
if(条件2){
    //业务2
}

if-else 双分支,if-else if 多分支 具备排他性!

而if 平行这种模式,不具备排他性!

5、break;continue;return;System.exit(0);的区别?

-return;跳出当前方法

-System.exit(0);跳出虚拟机

-break;终止当前循环

-continue;从此处起立即进行下一圈循环

public class DataTypeDemo {
    public static void main(String[] args) {
        for(;;){
            System.out.println("请输入一个值:");
            int a = new Scanner(System.in).nextInt();
            if(a == 1){
                m1();
            }else if(a == 0){
                System.exit(0);//代表 关闭JVM 运行环境
            }
            System.out.println("继续执行代码!");
        }
    }
    public static void m1(){
        System.out.println("即将return!");
        return;
    }
}

break & continue

需求:从20 岁- 100岁之间,整10年就表白一次!

public class DataTypeDemo {
    public static void main(String[] args) {
        for(int year = 20;year <= 100; year ++){
            if(year % 10 != 0){
                continue;//退出当次循环,进入到下一次
            }
            if(year == 50) {
                break;//终止循环
            }
            System.out.println("第"+year+"年,表白!");
        }
    }
}
6、==/equals();

-暂时针对字符串 : ==比对地址,而equals()比对内容.

//基本数据类型的值,如果要发生比较,则使用 == 
//引用数据类型,如果使用 == ,它不是比较内容,而是比较地址

image-20240511145109660

  • 21
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值