首页 > 其他分享 >9.18

9.18

时间:2022-09-18 21:58:22浏览次数:60  
标签:String 9.18 int System static println out

标识符

  1. 任何标识符都由字母、美元符$、下划线开始

  2. 首字母之后,可以是字母、美元符$、下划线和数字的任意组合。

  3. 标识符大小敏感


数据类型

八大基本数据类型

image-20220918104642860

String不是基本数据类型,而是一个类

位bit,计算机 内部数据 存储的基本单位

字节byte,计算机 数据处理 的基本单位,用大写B表示

1B = 8bit


整数拓展

1.不同进制

二进制以0b开头 后面跟0或1

八进制以0开头 后面跟0~7

十六进制以ox开头 后面可以跟0~9 A~F

public class demo1 {
    public static void main(String[] args) {
        //整数拓展: 进制  二进制0b   十进制     八进制0    十六进制0x

        int i = 10;//十进制中的10
        int i2 = 010;//八进制中的8
        int i3 = 035;//八进制中的29
        int i4 = 0x1A;//十六进制中的26
        int i5 = 0xBC;//十六进制中的11*16+12=188
        int i6 = 0b11111;//二进制中的31

        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println(i4);
        System.out.println(i5);
        System.out.println(i6);
    }
}

浮点数拓展

public class fudian {
    public static void main(String[] args) {
        float f = 0.1f;
        double d = 1.0/10;//浮点数是有限的、离散的,结果会进行舍入误差,接近但不等于一个数

        System.out.println(f==d);//false
        System.out.println(f);
        System.out.println(d);

        float f1 = 2323123412341234f;
        float f2 = f1 + 1;
        System.out.println(f1==f2);//true
    }
}

拓展:银行业务中怎么表示钱? 用BigDecimal类

最好完全避免使用浮点数进行比较!!!

最好完全避免使用浮点数进行比较!!!

最好完全避免使用浮点数进行比较!!!

字符拓展

        char c1 = '唐';
        char c2 = '震';

        System.out.println(c1);
        System.out.println((int)c1);//将字符类型强制转换为int类型再输出
        System.out.println(c2);//所有字符都可以由一个数字组合来表示
        System.out.println((int)c2);

        //所有字符本质还是数字

唐=21776 震=38663

所有字符本质还是数字

Unicode编码

        //Unicode编码 占2个字节  可以表示2^16=65536个字符
        //常用 U0000~UFFFF  表示

        char uni1 = '\u0062';//b
        char uni2 = '\u0078';//x
        char uni3 = '\u00B2';//²
        char uni4 = '\uF062';//

        System.out.println(uni1);
        System.out.println(uni2);
        System.out.println(uni3);
        System.out.println(uni4);

转义字符

image-20220918174118267

        String sa = new String("hello world");
        String sb = new String("hello world");
        System.out.println(sa==sb);//false

        String sc = "hello world";
        String sd = "hello world";
        System.out.println(sc==sd);//true

为什么上面不同,下面相同?

布尔值拓展

//布尔值拓展
boolean flag = true;
if(flag==true){
    System.out.println("same1");
};
if(flag){
    System.out.println("same2");
};

上述两种if的条件判断都可行,下面一种更简洁。

类型转换

数据类型优先级

从低到高分别是:byte,short,char—>int—>long—>float—>double

优先级从高到低,强制转换。(类型)变量名

优先级从低到高,自动转换。

        int i = 128;
        byte b = (byte)i;
        System.out.println(i);//128
        System.out.println(b);//-128 (byte类型范围是[-128,127],超过就会内存溢出)

        char c = 's';
        int d = c+1;
        System.out.println((int)c);//115
        System.out.println(d);//116
        System.out.println((char)d);//t

注意点

  1. 不能对布尔值进行转换

  2. 不能把对象类型转换为不相干的类型

  3. 在把高容量转换到低容量的时候,强制转换

  4. 转换的时候可能存在内存溢出

            System.out.println((int)233.44);//233
            System.out.println((int)-123.66);//-123
    
  5. 数字之间可以用下划线分割

            int money = 123456789;
            int money2 = 1_234_567_89;
            System.out.println(money);//123456789
            System.out.println(money2);//123456789,下划线并会输出
    

操作较大的数时,注意溢出问题

        int money = 10_0000_0000;
        int years = 20;
        int total = money*years;//-1474836480,计算时溢出了
        long total2 = total;
        System.out.println(total);
        System.out.println(total2);//先计算结果,此时为int型,但转换前已经出现问题了,
                                   //此时无法将结果转换为long型再输出
        long total3=money*(long)years;//先把一个数转换为long型,计算结果就作为long型
        System.out.println(total3);//20000000000,结果正常

变量、常量

  1. 尽量一行只声明1个值

            //int a=1,b=2,c=3; //不要这样子写,会让程序可读性变差
            int a=1;
            int b=2;
            int c=3;
    

类变量、实例变量、局部变量

    //类变量 static
    static double salary = 270000;

    //实例变量,从属于对象。如果不自行初始化,就为这个类型的默认值
    //数字类默认是0或0.0 ; 布尔值默认是false。
    //除了基本类型,其余的默认值都是null
    String name;
    int age;
    boolean fake;

    //main方法
    public static void main(String[] args) {
        //局部变量。必须声明和初始化值
        int i = 10;
        //System.out.println(i);

        //变量类型 变量名字 = new 类名();
        bianliang bian = new bianliang();
        System.out.println(bian.name);//null
        System.out.println(bian.age);//0
        System.out.println(bian.fake);//false
    }

常量

    //常量,一般都用大写字母表示
    static final double PI1 = 3.14;
    final static double PI2 = 3.14;
    //final是修饰符,不存在先后顺序,在static前后都可以

    public static void main(String[] args) {
        System.out.println(PI1);
        System.out.println(PI2);

常量一般用大写字母表示

final是修饰符

变量的命名规范

所有变量、方法、类名:见名知意

类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写 lastName

局部变量:首字母小写和驼峰原则

常量:大写字母和下划线:MAX_VALUE

类名:首字母大写和驼峰原则:Man,GoodMan

方法名:首字母小写和驼峰原则:run(),runRun()

标签:String,9.18,int,System,static,println,out
From: https://www.cnblogs.com/tangzhen123/p/16705922.html

相关文章

  • 总结一周(2022.9.18)
    1.使用Springsecurity的时候,会默认跳到Springsecurity的界面,并且通过账户名为user,自动生成的密码来进行登录 2.在Springboot进行测试运行的时候为什么SYSUserMapper为......