JAVA小白进阶之路(关于标识符,变量,数据类型,进制,自动类型提升,强制类型转化)

JAVA小白进阶之路

java各种标识符命名规则

说明

1.规则:
标识符:(自己起名字的地方)
1)严格区分大小写
2)不可使用关键字保留字,但能包含
3)数字不能开头
4)由数字、字母、下划线、$组成,不能含空格
2.JAVA命名规范(建议遵守)
1)包名:所有字母小写
2)类名、接口名:多个单词组成是所有单词首字母大写
3)变量名、方法名:多个单词组成时,第一个单词首字母小写,第二个单词 开始每个单词首字母大写
4)常量名:所有字母都小写,多单词时,每个单词间用下划线连接
注意:尽可能将命名做到见名知意; 不遵守规则,编译不通过,字节码文件不能生成;java 采用unicode字符集,但不建议使用汉字

举例

public class Snippet {
	public static void main(String[] args) {
		int myNumber = 10;
		System.out.print(myNumber);
		
	}
	public class MyFisrst{
		int id;
		public void myPrint() {
			
		}
	}
}

变量

说明

1.变量必须先声明后使用
2.使用要在作用域内
3.同一个作用域不能声明同名的变量

使用:
数据类型 变量名 = 变量值;

数据类型 变量名;
变量名 = 变量值;

举例

class VariableTest{
	public static void main(String[] args){
		//变量的定义
		int myAge = 12;
		//变量的使用
		System.out.println(myAge);
		
		int myNumber;  
		myNumber = 1001;
		System.out.println(myNumber);
		//System.out.println(myClass);   错误:2
	}
	public void method(){
		int myClass = 1;
	}  
}

数据类型

说明

1.分类(按数据类型)
基本数据类型:
整型:byte(1) short(2) int(4) long(8)
浮点型:float(4) double(8)
字符型:char(一个字符=2个字节)
布尔型:boolean
引用数据类型:
类:class,String
接口:interface
数组:
2.运算规则:(不包含Boolean)
1)自动类型的提升
当容量小的数据类型与容量大的数据类型做运算时,结果自动提升为容量大的数据类型
byte、char、 short–》 int–》 long–》 float–》 double
特别的:当byte char short 做运算时,结果为int型
2)强制类型的转换:自动提升运算的逆运算(会损失精度,JAVA是个严格的语言O),
需要强制类型符
可能会导致精度损失
注意:
关于long
long a = 123;
long a =123L;
都是对的,但解释不一样,假如前者a的赋值超出int表示范围会报错
关于float:
float f = 1.24; //编译不通过,默认类型为double
float f = 1.24F; //可以
说明:此时的容量大小是表示数的范围的大和小,比如float容量要大于long的容量

举例

例1
class  VariableTest1{
	public static void main(String[] args){
		byte b1 = 12;  //-128~127  
		byte b2 = -128;
		System.out.println(b1);
		System.out.println(b2);
		//   char 通常使用单引号,只能放一个
		//声明一个字符
		//声明一个转义字符
		//使用Unicode值表示字符常量
		char c1 = 'a';
		System.out.println(c1);
		//boolean
		//只有俩值:true/false
		boolean bb1 = true;
		System.out.println(bb1);

		boolean isMarried = true;
		if(isMarried){
			System.out.println("你就不能参加单身party了,很遗憾!");
		}else{
			System.out.println("欢迎你");
		}
	}
}
例2
class VariableTest2{
	public static void main(String[] args){
		byte b1 = 2;
		int i1 = 129;
		//编译通过
		int b2;
		b2 = b1 + i1;
		System.out.println(b1);

		//强制类型转换
		double d1 = 2.9;
		
		int i2 = (int)d1; //截断操作		
		System.out.println(i1);
		
		//
		long a = 123;   //自动类型提升
		System.out.println(a);
		//long a1 = 1234556778887;
		//System.out.println(a1);
		//编译失败
		
		byte b = 12;
		//byte b1 = b + 1;   编译失败
		
		//float f1 = 1.4;
		//编译失败,默认类型为double型
		
		// float f1 = b + 12.3;
		//编译失败

		double f1 = b + 12.3;
	}

}

计算机中的进制表示:

补充(关于String与自动类型提升)计算机中不同进制使用说明:

二:0,1 0b或0B开头
八:0~7 0开头
十:0~9
十六:09及AF, 0x或0X开头,不区分大小写

转换:
二进制:
正:原、反、补相同
负:原到反:除符号位外各位取反,反倒补:末尾加1
在计算机底层存的都是补码

+127:0111 1111
-128:1000 0000

其他通过二进制做桥梁

说明

1.String属于引用数据类型
2.申明String类型变量时,使用一对" "
3.String可以和8(含布尔)种数据类型个变量做运算,且只能是连接
4.运算的结果任然是String
注意:String是不能转换成Int的;String str = 123;//编译不通过

举例

class StringTest{
	public static void main(String[] args){
		String s1 = "Hello World";
		System.out.println(s1);
		char c = ' ';
		
		//char c = "";  char c = '';
		//编译不通过

		System.out.println(c);
		
		int number = 1001;
		String numberStr = "学号:";
		String info = numberStr + number;  //+:连接运算
		System.out.println(info);
		
		//练习1
		char c1 = 'a';
		int num = 10;
		String str = "hello";
 		System.out.println(c1 + num + str); //107hello
		System.out.println(c1 + str + num ); //ahello100
		System.out.println(c1 + (num + str)); //ahello10
		System.out.println((c1 + num) + str); //107hello
		System.out.println(str + num + c1); //hello10a
		
		//练习2
		
		//*	*
		System.out.println("*	*");
		System.out.println("*"+"\t"+"*");
		System.out.println('*' + "\t" + '*');
		System.out.println('*' + '\t' + '*');  //bu   
		//char 与char int
		
		System.out.println('*' + '\t' + "*");   //bu
		System.out.println('*' + ('\t' + "*"));
		//与String类型都是String
   		
		//String str1 = 123;  编译不通过
		String str2 = 123 + "";
		System.out.println(str2);

		//int str3 = (int)str2;  编译不通过
		//String不能转换为 int
	}

}

判断能否通过编译:
1.
short s = 5;
s = s - 2; //no
2.
byte b = 3;
b = b + 4; //no
b = (byte)(b + 4); //yes
3.
char c = ‘a’;
int i = 5;
float d = .314F;
double result = c + i + d; //yes
4.
byte b = 5;
short s = 3;
short t = s + b; //no,int才行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值