天天看点

java之变量和运算符

java之变量和运算符

1、关键字、保留字和标识符

  • 关键字:java中已经使用的英文字母,jdk中使用的类名也是关键字。关键字不能作为变量名、类名、包名
  • 保留字
  • 标识符:java中包名、类名、方法名、变量名、常量名的总称
    • 标识符的命名规则:
      • 必须以字母、下划线(_)或美元符号($)开头
      • 标识符中不能有空格
      • 不能使用Java中的关键字或者保留字做为标识符
    • 标识符的命名规则:
      • 包名:域名.公司名.项目名.种族-- 常见的域名: com、cn、org… com.neusoft.javase_day1.test
      • 类名:驼峰命名法 ,每个类名中的单词首字母要大写 StudentTestOne 或者Student_Test_One
      • 常量名:方法名、参数名:驼峰命名法-- 命名是首字母小写其他英文单词首字母大写 getAge () myAge
      • 常量名:要求所有的字母都大写,每个英文单词之间使用"_"隔开: MAX_AGE_MY

    注意:JVM中存储

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TdVb7Sq0-1599477370391)(D:\java6实训\Mysql数据库\Mysql数据库\typroa\笔记\JVM的内存.png)]

2、基本数据类型:(1字节=8bit)在栈中存放

​ ①整型:

​ byte:1字节 范围在-27—27-1

​ short:2字节 范围在-215—215-1

​ int:4字节 范围在-231—231-1

​ long:8字节 范围在-263—263-1

​ ②浮点型:

​ float:8字节 声明及初始化:floatd=123.4F

​ double(是Java中默认的浮点型):声明及初始化:double d1=123.4d,当初始化时float d2=123.2,会报错,因为java中默认中是double型

​ ④布尔型:boolean,只有两个值:true、false

​ ③字符型:

​ char:单引号引起来的,例如:

//char:字符类型
		//①接收字符,表示的是单个字符,只能接收一个字符
		char c1='中';
		System.out.println(c1);//中
		//②接收整型,最大2字节16位 表示的是:JVM会去查找ascii码表数值对应的字符
		char c2=49;
		char c3=65;
		System.out.println("c2:"+c2+" c3:"+c3);//c2:1 c3:A
		char c4=97;
		System.out.println("c4:"+c4);//c4:a
		
		//③接收Uncode字符  以\ u开头的字符:JVM会去查找Uncode码表数值对应的字符
		char c5='\u03A6';
		System.out.println(c5);//Φ
		
		//④接收16进制就是接收整型:将16进制转为10进制再对应的ascii码值
		char c6=0x23;
		System.out.println(c6);//#
		
//		转义字符:使用”\”把其转化成字符的本身输出,那么使用”\”的字符称作为转义字符。
		System.out.println("\"");//"
		System.out.print("你好");//不换行输出
		System.out.println("\n");//换行
		System.out.print("中国");//你好中国
		System.out.println("在吗");
		System.out.println("中国:在");
		//你好”中国” 
		System.out.println("你好\"中国\"");//你好"中国"
           

引用数据类型:(在堆中存放)暂时未讲到,以后补充

  • 接口
  • 数组

3、基本数据类型的转换

  • 隐式转换 :小精度转换为大精度,例如:
    short a1=23;
    		long a2=a;
    		System.out.println(a1);//23
               

int和float之间转换:int–>float,例如:

int a3=56;
		float a4=a3;
		System.out.println(a4);//56.0
           

类似的有:long–>float,short–>int等等

  • 显示转换(强制转换) :强制转换,大精度–小精度,需要注意当大精度数据中的值大于小精度能够接受的最大范围会出现精度丢失,例如:
    int i2=10;
    		byte b2=(byte) i2;
    		System.out.println(b2);//10
    		int i3=129;
    		byte b3=(byte)i3;
    		System.out.println(b3);//-127 
               
    //double --float
    		float f2=(float) 123.45;
    		System.out.println(f2);//123.45
               

注意:不同基本数据类型进行计算时,会先转为其中最大精度的数值类型再做计算,例如:

double dd1=123.3F+123+1.0;//返回的是double型,故需要double来接收
	int ii1=(int) (123.3F+123+1.0);//这个用int来接受
           

而在计算时byte、short、char之间不会相互转换,他们三者在计算时首先会转换为int类型。

byte bb1=90;
		short ss1=80;
		int ii2=bb1+ss1;//bb1和ss1先会转换为int类型
           

而在计算时byte、short、char之间不会相互转换,他们三者在计算时首先会转换为int类型。

byte bb1=90;
		short ss1=80;
		int ii2=bb1+ss1;//bb1和ss1先会转换为int类型