Java基础01

Java基础

一 注释

单行注释 // 多行注释 /*回车 文档注释(注解)。/**回车

//
/**/
/***/

二 标识符

1 标识符的规范

1.Java所有组成部分都需要名字。类名,变量名以及方法名都称为标识符
2.变量名属于标识符,标识符只能以 字母、_ 和$ 开头。首字母之后可以任意
  变量名也可以是中文(但一般不建议用中文命名)
3.标识符:类名,变量名以及方法名都称为标识符 (标识符大小写是敏感的)
public class Demo01 {
    public static void main(String[] args){
        System.out.println("Hello World !");
        //变量名属于标识符,标识符只能以 字母、_ 和$ 开头。首字母之后可以任意
        //标识符:类名,变量名以及方法名都称为标识符 (标识符大小写是敏感的)
        String _dd = "d";
        String $dd = "d";
        String Dd = "d";
        String 王者荣耀 = "d";//变量名也可以是中文(但一般不建议用中文命名)
    }
}
//Java所有组成部分都需要名字,类名,变量名以及方法名都称为标识符
//且标识符只能以字母、$或者_ 开始

2 关键字

图片截图来自B站遇见狂神说

三 Java的数据类型

1 八大基本数据类型(primitive type):

整型int byte short long 浮点型 float double 布尔型boolean 字符型char

2 引用类型(reference type): 除了基本类型都是引用类型

类 接口 数组 如String 或自定义类型

四 字节

一字节等于8位

1 Byte = 8 bit

图片截图来自B站遇见狂神说

五 类型转换

不同类型转换为同一类型 然后进行运算。

低------->高 **byte short char int long float double ** (小数优先级高于整数)

1 类型转换遵循原则

  • 高到低 强制转换 (类型)变量名
  • 低到高 自动转换 什么也不用写
public class demo06 {
    public static void main(String[] args) {
        //低转高自动转
        //需要double  给了int   int自动转double
        double d = 15;
        ////需要double  给了char   char自动转double    字符可转数字(字符本质上就是数字)
        double d2 = 'a';

        //高转低 强制转 (可能丢失精度)
        //需要int  提供double,强制转int
        int i = (int)10.1;
        System.out.println(i);//原来10.1 转int变10 丢失精度
    }
}
public class Demo03 {
    public static void main(String[] args){
        System.out.println("Hello World !");        
		System.out.println("--------字符---------------");
        char c1 = 'a';
        char c2 = '只';
        System.out.println(c1);//a
        System.out.println(c2);//中
        int a = c1;
        System.out.println(a);//char 转int自动转
        System.out.println((int) c1);
        int a1 = c2;
        System.out.println(a1);
        System.out.println((int) c2);//输出数字Unicode编码
		//所有的字符本质还是数字
    }
}
public class Demo4 {
    public static void main(String[] args) {
        int i = 128;
        byte b = (byte)i;  //强制转换
        System.out.println(i);
        System.out.println(b);   //内存溢出      因为Byte 字节范围 -128~127

        int i1 = 128;
        double b1 = i1;             //低到高  自动转换
        System.out.println(b1);
    }
}

2 类型转换常见的问题

2.1 溢出问题

public class Demo05 {
    public static void main(String[] args){
        //操作数比较大时,注意溢出问题
        //JDK7新特性,数字之间可以用下划线分割
        int money = 10_0000_0000;//下划线并不会被输出
        System.out.println(money);
        int years = 20;
        int total = money * years;
        System.out.println(total); //输出负数原因:计算的时候溢出。
        long total2 = money * years;
        System.out.println(total2);//输出负数且不正确原因:1. long = int* int 先进行int*int计算溢出已经出错,才进行自动转换为long,
        long total3 = money * ((long) years); //int*long 先自动转成long   输出正确。
        System.out.println(total3);
    }
}

3 数据类型转换注意点

/*注意点
* 1.不能对布尔值进行转换
* 2.不能把对象类型转换为不相干的类型。
* 3.高容量转低容量  强制转换     反之则自动转换。
* 4.转换时,可能存在内存溢出 或  精度问题。
* */

声明:笔记内容根据B站遇见狂神说而写

posted @ 2022-04-10 15:28  intelliyu  阅读(23)  评论(0编辑  收藏  举报