Java语言基础

1.引入

变量是用于存储数据的

举例:

比如,你的同桌要买大宝剑,发现钱不够,找你借5毛钱,为了防止时间长了忘记了,你拿个小本把这件事记下来

人物:你的同桌

事件:大宝剑

金额:5毛

时间: 2020/09/16

2.单位换算

1TB = 1024GB

1GB = 1024MB

1MB = 1024KB

1KB = 1024byte

1byte = 8bit

3.NotePad++设置

java的Byte类型判断相等_补码

4.变量的定义

三种方式

1.先声明,再赋值(常用)

2.连声明带赋值(常用)

3.同时声明多个同类型的变量,赋值个别变量(了解)

public class Test1{
	public static void main(String [] args){
		// 定义变量的三种方式 
		// 方式1
		byte b1; // 先声明
		b1 = 20; // 再赋值
		
		System.out.println("b1中的值是" + b1);
		// 方式2  连声明带赋值写为一条语句
		byte b2 = 21;
		System.out.println("b2中的值是" + b2);
		
		// 方式3 同时声明多个变量 赋值个别变量 
		byte a , b ,c = 12 , d = 21;
		// ln line  行  
		// System.out.print("a中的值是" + a);
		// System.out.print("b中的值是" + b);
		System.out.println("c中的值是" + c);
		System.out.println("d中的值是" + d);
		
	}
}
5.数据类型
5.1 整型

byte 单字节 8位 -128 ~ 127

short 两个字节 16位 -32768 ~ 32767

int 四个字节 32位 -2147483648 ~ 2147483647

long 八个字节 64位 -9223372036854775808 ~ 9223372036854775807

在long类型中存储超过int取值范围的值 需要在值的末尾加上L 大小写都可以 要求大写

java的Byte类型判断相等_System_02

public class Test2{
	public static void main(String [] args){
		// 定义其他类型的变量  
		byte b1 = -128; // byte 取值范围 -128 ~ 127
		System.out.println(b1);
		// short 我们也叫短整型   -32768 ~ 32767
		short s1 = -32768;
		System.out.println(s1);
		
		// int 取值范围 -2147483648 ~  2147483647
		int i1 = 2147483647; 
		System.out.println(i1);
		
		
		// long 长整型 取值范围 -9223372036854775808 ~ 9223372036854775807 
		// System.out.println(Long.MAX_VALUE);
		// System.out.println(Long.MIN_VALUE);
		long l1 = 20;
		System.out.println(l1);
		
		// 在long类型中存储超过int取值范围的值 需要在值的末尾加上L  大小写都可以  要求大写
		long l2 = 2147483648L;
		System.out.println(l2);

	}
}
5.2 浮点类型

float 单精度的小数

double 双精度的小数

以上两者都是近似值,不是精确值

float在定义变量的时候需要在值以后加上F,大小写都可以

public class Test4{
	public static void main(String [] args){
		
		double d1 = 20;
		double d2 = 20.5;
		System.out.println(d1);
		System.out.println(d2);
		
		
		float f1 = 20F;
		float f2 = 21.3f;
		System.out.println(f1);
		System.out.println(f2);
		
		// float最大取值  最小取值 
		float minValue = -340000000000000000000000000000000000000F;
		System.out.println(minValue);
		
		float maxValue = 340000000000000000000000000000000000000F;
		System.out.println(maxValue);
		
		
		float minValue2 = -0.0000000000000000000000000000000000000000000014F;
		System.out.println(minValue2);
	}
}
5.3 布尔类型

布尔类型只有两个取值,true或者false,不能参与运算

public class Test5{
	public static void main(String [] args){
		// boolean 布尔类型 取值只有真 或者 假
		
		boolean  flag = false; // 否
		boolean flag1 = true;
		System.out.println(flag);
		System.out.println(flag1);
	}
}
5.4 char类型

char类型取值范围 0~ 65535 无符号的(只有正数)

可以存储一个字符的内容,比如一个英文,一个数字,或者一个中文

也可以直接写入正确范围内的数字,比如 65,20013等

在我们写入数字的情况会根据数字所对应的编码表找到对应的字符

ASCII码表,美国标准信息交换码

Unicode,万国码,收录了世界上大多数国家的语言,相当于一个比较全面的字典

public class Test6{
	public static void main(String [] args){
		// char 两个字节 只能存储一个 字符  1  A   a   中   
		char ch1  = 'a';
		char ch2 =  '2';
		char ch3 = '中';
		char ch4 = 'A';
		
		System.out.println(ch1);
		System.out.println(ch2);
		System.out.println(ch3);
		System.out.println(ch4);
		
		
		// char ch5 = 'ab';
		// char ch6 = '22';
		// char ch7 = '中国';
		// System.out.println(ch5);
		// System.out.println(ch6);
		// System.out.println(ch7);
		
		
		char c1 = 65;
		System.out.println(c1);
		char c2 = 66;
		System.out.println(c2);
		char c3 = 67;
		System.out.println(c3);
		// 通过以上代码  我们发现 直接写数值  可以得到一些字符 
		// 我们的计算机只认  0 和  1  ASCII 码表  美国标准信息交换码
		
		char c4 = 97;
		
		System.out.println(c4);
		
		char c5 = (char)-1;
		System.out.println(c5);
		
		// 显示中文是基于Unicode码表  万国码 十六进制的编码表 收录了世界大多数国家的语言编码
		//		\u9fa5 ~ \u4e00  属于中文的区间  
		// GBK  国标扩展板  支持中文简体 和 繁体  
		// GB2312  国标  只支持简体 
		// ISO-8859-1 最原始的编码方式  用于解决乱码  
		// UTF-8  unicode编码  通用的一种编码方式
		char c6 = 20013;
		System.out.println(c6);
		
		// 6211 7231  4f60   25105  29233 20320 
	
	}
}
6. 转义字符
转义字符是为了解决在开发中用于区分特殊符号的一种方式

java的Byte类型判断相等_补码_03

public class Test7{
	public static void main(String [] args){
		// 转义字符   我们使用char类型的变量存储一些特殊的字符 需要使用转义字符 \  
		// \n
		System.out.print("世界你好\n");
		System.out.print("世界你好\n");
		
		// \t 表示制表符 可以使文字对齐(大多数情况下)
		System.out.println("学java\t到千锋\t郑州千锋找帅栋");
		System.out.println("找帅栋\t圆你梦");
		
		// \\ 打印一个反斜杠
		char ch1 = '\\';
		System.out.println(ch1);
		
		char ch2 = '\'';
		System.out.println(ch2);
		
		char ch3 = '\"';
		System.out.println(ch3);

	}
}
7.String类型

String类型属于JDK提供的一个类,用于存储字符串,属于引用数据类型

public class Test8{
	public static void main(String [] args){
		// String 类型是JDK给我们提供的一个类   
		// 属于引用数据类型
		String str1 = "abcd";
		String str2 = "210";
		String str3 = "汉字";
		String str4 = "110";
		System.out.println(str1);
		System.out.println(str2);
		System.out.println(str3);
		System.out.println(str2 + str4);
		
		short s1 = 22;
		char ch1 = s1; // short有可能会有负数 所以不能直接赋值给char类型
	}
}
8.类型转换

自动提升 手动下降

自动转换,两种类型要兼容,目标类型大于源类型

强制转换,两种类型要兼容,目标类型小于源类型

public class Test9{
	public static void main(String [] args){
		// 自动类型转换  自动提升  
		// 1.两种类型要兼容  比如 整数 和  小数 都属于数值
		// 2.目标类型(等号左边)要大于源类型(等号右边的)
		
		byte b1 = 20;
		
		
		short s1 = b1;
		int i1 = b1;
		long l1 = i1;
		
		
		System.out.println(l1);
		System.out.println(i1);
		System.out.println(s1);
		
		float f1 = l1;
		System.out.println(f1);
		double d1 = i1;
		System.out.println(d1);
		
		// 强制类型转换  手动下降  
		// 1.两种类型要兼容 
		// 2.目标类型小于源类型
		// 写法 (强制转换的类型)
		System.out.println("=================================================");
		
		short s2 = 120;
		byte b2 = (byte)s2;
		System.out.println(b2);
		
		double d2 = 20;
		int i2 = (int)d2;
		System.out.println(i2);
		
		
		short s3 = 128;
		byte b3 = (byte)s3;
		System.out.println(b3);
		
		
		short s4 = 257;
		byte b4 = (byte)s4;
		System.out.println(b4);

		
		short s5 = 129;
		byte b5 = (byte)s5;
		System.out.println(b5);
		// 原码  反码  补码  
		// 正数的原码  反码 补码 都一样   
		// 负数  负数的反码是符号位保持不变 其余位取反     1001 0100     11101011
		// 补码 是在反码的基础上+ 1 java中使用补码来表示负数   
	}
}

后续补充……

public class Test10{
	public static void main(String [] args){
		// char 类型赋值可以使用 unicode码值 但是必须加上 反斜杠u 前缀 使用 单引号包括 
		char ch1 = '\u4f60';
		System.out.println(ch1);
		
		double d1 = 2.5; 
		int i = (int)d1;
		System.out.println(i); // 小数点之后直接抹去
	}
}

不变 其余位取反 1001 0100 11101011

// 补码 是在反码的基础上+ 1 java中使用补码来表示负数
 }
 }
> 后续补充……

```java
public class Test10{
	public static void main(String [] args){
		// char 类型赋值可以使用 unicode码值 但是必须加上 反斜杠u 前缀 使用 单引号包括 
		char ch1 = '\u4f60';
		System.out.println(ch1);
		
		double d1 = 2.5; 
		int i = (int)d1;
		System.out.println(i); // 小数点之后直接抹去
	}
}