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站遇见狂神说而写