day02--关键字、保留字、变量、进制转换

day02

1、关键字和保留字

定义:被java语言赋予了特殊含义,用做专门用途的字符串(单词)

特点:关键字中所有字母都为小写

java保留字:现有的java版本尚未使用,但以后版本可能会作为关键字使用

2、标识符(Identifier)

java对各种变量、方法和类等要素命名时使用的字符序列称为标识符

技巧:凡是自己可以起名字的地方都叫标识符

标识符的命名规则: -->如果不遵守如下规则,编译不能通过
由26个英文字母大小写,0-9,或特殊符合组成
数字不能开头
不可以使用关键字保留字,但能包含关键字和保留字
java严格区分大小写,但长度无限制
标识符不能包含空格

命名规范:

包名:多单词组成时所有字母都小写:xxxyyyyzzz

类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz

变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz

常量名:所有字母都大写,多单词时每个单词都用下划线连接xxx_yyy_zzz

注意:

命名:“见名知意”

java采用unicode字符集,因此标识符也可以用汉字声明,但是不建议使用

3、变量

变量的概念:

​ 内存中一个存储区域

​ 该区域的数据可以在同一类范围内不断变化

​ 变量是程序中最基本的存储单元,包含变量类型、变量名和存储的值

变量的作用:

​ 用于在内存中保存数据

使用变量注意:

​ java中每个变量必须先声明,后使用

​ 使用变量名来访问这块区域的数据

​ 变量的作用域:其定义所在的一对{}内

​ 变量只有在其作用域内才有效

​ 同一个作用域内,不能定义重名的变量

/*
变量的使用
1.java定义变量的格式:数据类型 变量名 = 变量值;

2.说明:
	变量必须先声明,并且赋值,才能使用
	变量都定义在其作用域内,在作用域内,它是有效的,换句话说出了作用域,就失效了
	同一个作用域内,不可以声明两个同名的变量
*/
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);

		//不可以在同一个作用域内定义同名变量
		//int myAge = 22;
	}
	public void method(){
		int myClass = 1;
	}
}

java定义的数据类型

/*
java定义的数据类型

一、变量按照数据类型来分:
	基本数据类型:
		整形:byte(1字节 = 8bit) \ sort(2字节) \ int(4字节) \ long(8字节)
		浮点型:float \ double
		字符型:char
		布尔型:boolean

	引用数据类型:
		类(class)
		接口(interface)
		数组(array)

二、变量在类中声明的位置:
		成员变量 vs 局部变量
*/
class VariableTest1{
	public static void main(String[] args) {
		//1.整形:byte(1字节 = 8bit) \ sort(2字节) \ int(4字节) \ long(8字节)
		byte b1 = 12;
		byte b2 = -128;
		System.out.println(b1);
		System.out.println(b2);
		// 2 声明long型变量,必须以“l”或“L”结尾
		//通常定义整形变量使用int型
		short s1 = 1287;
		int i1 = 1234;
		long l1 = 32456431L;
		System.out.println(l1);

		//浮点型:float(4个字节) \ double(8个字节)
		//浮点型,表示带小数点的数据 
		//float表示数值的范围比long还大

		double d1 = 123.3;
		System.out.println(d1+1);
		//定义float类型变量时,变量要以"f"或"F"结尾
		float f1 = 12.3f;
		System.out.println(f1);
		//通常,定义浮点型变量时,使用double型。

		//字符型:char(1字符 = 2字节)
		//定义char型变量,通常使用一对''内部只能写一个字符
		char c1 = 'a';

		//编译不通过
		//c1 = 'AB'
		System.out.println(c1);

		char c2 = '1';
		char c3 = '中';
		System.out.println(c2);
		System.out.println(c3);

		//表示方式:1.声明一个字符 2.转义字符 3.直接使用Unicode值来表示字符型常量

		char c5 = '\n';//换行符
		c5 = '\t';
		System.out.print("hello" + c5);
		System.out.println("world");

		char c6 = '\uu0043';
		System.out.println(c6);

		//布尔类型:boolean
		// 只能取两个值
		boolean bb1 = true;																															
		System.out.println(bb1);

		boolean isMarried = true;
		if(isMarried){
			System.out.println("你就不能参加单身party!\\n 很遗憾!");
		}else {
			System.out.println("你可以多谈谈女朋友");
		}
	}
}

基本数据类型之间的运算规则:

自动类型提升:
/*
基本数据类型之间的运算规则:

前提:这里讨论的只是7钟数据类型变量间的运算,不包含boolean类型的

1.自动类型提升:
	结论:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型

	byte 、 char 、 short -->long --> float --> double

	特别的:当byte、char、short三种类型的变量做运算时结果为int类型

2.强制类型转换:


说明:此时的容量大小指的是,表示数的范围的大和小。比如:float容量要大于long的容量

*/
class VariableTest2{
	public static void main(String[] args) {
		byte b1 = 2;
		int i1 = 12;
		int i2 = b1 + i1;
		System.out.println(i2);

		float f = b1 + i1;
		System.out.println(f);

		short s1 = 123;
		double d1 = s1;
		System.out.println(d1);

		//************************
		char c1 = 'a';//97
		int i3 = 10;
		int i4 = c1 + i3;
		System.out.println(i4);

		short s2 = 10;
		//short s3 = c1 + s2;//编译不通过

		byte b2 = 10;
		char c3 = c1 + b2;

		//************************
	}
}

强制类型转换:

/*
强制类型转换:自动类型提升运算的逆运算
1.需要使用强转符:()
2.注意点:强制类型转换,可能导致精度损失。

*/
class VariableTest3 {
	public static void main(String[] args) {
		double d1 = 12.3;

		int i1 = (int)d1;//截断操作
		System.out.println(i1);

		//没有精度损失	
		long l1 = 123;
		short s2 = (short)l1;

		int i2 = 128;
		byte b = (byte)i2;
		System.out.println(b);
	}
}

变量运算规则:


class VariableTest4 {
	public static void main(String[] args) {
		//1.编码情况
		long l = 12313;
		System.out.println(l);
		//过大的整数
		//long l1 = 1321564631315;
		long l1 = 1321564631315L;

		//******************
		
		//编译失败
		//float f1 = 12.3;

		//2.编码情况2:
		//整形常量,默认类型为int型
		//浮点型常量,默认类型为double型
		byte b = 12;
		//byte b1 = b + 1;//编译失败

		//float f1 = b + 12.3;//编译失败
	}
}

字符串类型:String

String不是基本数据类型

/*
String类型变量的使用
1.String属于引用数据类型,翻译为:字符串
2.声明String类型变量时,使用一对""
3.String可以和8种基本数据类型变量做运算,且运算只能是连接运算:+
4.运算的结果仍然是String类型
*/
class StringTest {
	public static void main(String[] args) {

		String s1 = "Hello World!";

		System.out.println(s1);
		//*********************
		int number = 1001;
		String numberStr = "学号";
		String info = numberStr + number;//'+'连接运算
		boolean b1 = true;
		String info1 = info + b1;
		System.out.println(info1);

		//练习1
		char c = 'a';//'a'97 A:65
		int num = 10;
		String str = "hello";
		System.out.println(c + num + str);
		System.out.println(c + str + num);
		System.out.println(c + (str + num));
		System.out.println((c + str) + num);

		//练习2
		//*	*
		System.out.println('*' + '\t' + '*');


	}
}

进制与进制的转换

​ 世界上有10种人,认识和不认识二进制的

关于进制

​ 所有数字在计算机都是二进制形式存在的。

​ 对于整数,有四种表示方式:

​ 二进制 0,1,满二进一,以0b或0B开头。

​ 十进制

​ 八进制 0-7,满八进一,以数字0开头

​ 十六进制 0-9和A-F,满16进1,以0x或0X开头表示,此处的A-F不区分大小写。

​ 如:0x21AF + 1 =0x21B0

00000110

0:正数

1:负数

00001110
10001110

-14的原码 除了符号位,各个位取反

11110001

-14的反码 反码+1

11110010

-14的补码

在计算机的底层都以补码的形式存储数据

十进制–>二进制:除2取余的逆

二进制–>八进制:3个一位

二进制–>十六进制:4个一位

4、运算符

5、程序流程控制

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天热写代码不吹空调

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值