【第一阶段 day12 java基础】 java的标识符 关键字 注释 数据类型 变量 案例 案例中总结的经验 基本类型的字面值 类型转换 5条运算法则

1.java的标识符

(1)由字母,数字,下划线,$组成
(2)不能以数字开头
(3)严格区分大小写
(4)见名知意
(5)不能使用关键字

2.关键字

(1)被java提前指定好的全小写单词,一共有50个
(2)2个保留字:const与goto
(3)还有三个不能用作标识符的单词:true false null

3.注释

用来解释代码,方便看代码的人去理解代码的话
(1)注释不会影响代码的执行,会被编译器忽略
(2)单行注释://注释一行的内容
(3)多行注释:/* */可以注释多行的内容
(3)文档注释/DOC:/** */可以注释多行数据类型,也可以添加额外的信息

4.数据类型

(1)基本数据类型

例1:描述基本信息输出案例

package cn.tedu.basic;
/**
 * 本类用来描述基本信息输出案例
 */
public class TestInfo {
	//1.添加程序的入口函数
	public static void main(String[] args) {
		/**1.定义变量的规则:变量类型 变量名 变量值*/
		//2.创建变量
		/**2.一串字符,在Java中用string类型也就是字符串类型保存
		 * 注意:String类型的数据要使用双引号包裹*/
		String name="xiaobai";
		int age=18;//表示变量的年龄,值为18
		double salary=100000.99;//表示变量的薪资
		//3.可以通过打印语句查看变量的值
		System.out.println(name);
		//4.完成静态数据和动态数据的拼接
		System.out.println("我是"+name);
		/**3. 我们可以使用+号将静态数据[java架构师]和动态数据[name]拼接起来*/
		//5.需求:在控制台打印: java架构师今年20岁,月薪100000.99,感慨java是世界上最好的语言
		System.out.println("java架构师"+name+"今年"+age+"岁,月薪"+salary+",感慨java是世界上最好的语言");
	}
}

例2:查看基本信息的最大值与最小值

package cn.tedu.basic;
/**
 * 本类用来查看基本类型的最大值与最小值
 * Ctrl+Alt+向下键  快速向下复制一行
 */
public class TestTypeScope {
	//1.创建程序的入口函数
	public static void main(String[] args) {
		/**1.进行整型类型的测试(大小):byte(1) short(2) int(4) long(8) */
		/**2.java给8大基本类型都提供了类型对应的工具箱*/
		//2.定义对应类型的变量(格式):类型 名字=值;
		byte byteMax=Byte.MAX_VALUE;
		byte byteMin=Byte.MIN_VALUE;
		System.out.println("byte类型的最大值为:"+byteMax);
		System.out.println("byte类型的最小值为:"+byteMin);
		
		short shortMax=Short.MAX_VALUE;
		short shortMin=Short.MIN_VALUE;
		System.out.println("short类型的最大值为:"+shortMax);
		System.out.println("short类型的最小值为:"+shortMin);
		
		int intMax=Integer.MAX_VALUE;
		int intMin=Integer.MIN_VALUE;
		System.out.println("int类型最大值为:"+intMax);
		System.out.println("int类型最小值为:"+intMin);
		
		long longMax=Long.MAX_VALUE;
		long longMin=Long.MIN_VALUE;
		System.out.println("long类型最大值为:"+longMax);
		System.out.println("long类型最小值为:"+longMin);
		
		/**3.进行整型类型的测试(大小):float(4) double(8)*/
		float floatMax=Float.MAX_VALUE;
		float floatMin=Float.MIN_VALUE;
		System.out.println("float类型最大值为:"+floatMax);
		System.out.println("float类型最小值为:"+floatMin);
		
		double doubleMax=Double.MAX_VALUE;
		double doubleMin=Double.MIN_VALUE;
		System.out.println("double类型最大值为:"+doubleMax);
		System.out.println("double类型最小值为:"+doubleMin);
	
	    /**4.布尔型Boolean(1)只有两个值  true为真,false为假
	     * 注意:虽然true与false不为关键字,但是依然不能作为标识符*/
		boolean b1=true;
		boolean b2=false;
		System.out.println(b1);
		System.out.println(b2);
		
		/**5.字符型char(2)
		 * 字符型的数据需要使用单引号''来包裹
		 * char类型可以存数字,但是会从ASC码表中查出这个数字对应的字符来打印
		 * ASC码表值规定了数组0-127对应的字符,128-65535默认按照字符?来处理*/
		char c1='a';//可以保存一个字符
		char c2=55;//可以保存一个数字
		char c3='中';//可以保存一个汉字
		char c4='7';//可以保存一个字符7
		char c5=1234;
		System.out.println("char类型可以为一个字符:"+c1);
		System.out.println("char类型可以是一个数字,但是会从ASC码表中查出这个数字对应的字符来打印:"+c2);
		System.out.println("char类型可以是一个中文:"+c3);
		System.out.println("char类型可以是一个字符7:"+c4);
		System.out.println("ASC码表值规定了数组0-127对应的字符,128-65535默认按照字符?来处理:"+c5);
		//3184826557
	}

}

例3:求圆的面积

package cn.tedu.basic;

import java.util.Scanner;

/**
 * 这个类用来求圆的面积
 */
public class TestCircleArea {

	public static void main(String[] args) {
		System.out.println("输入圆的半径:");
		double r=new Scanner(System.in).nextDouble();
		double circleArea=3.14*r*r;
		System.out.println("圆的半径为:"+circleArea);
	}
}




例4:值交换案例

package cn.tedu.basic;

import java.util.Scanner;
/** 
 * 本类用于值交换案例
 */
public class TestValueExchage {
	//1.创建程序的入口main
	public static void main(String[] args) {
		//2.提示并接收用户在控制台输入的两个数
		System.out.println("请输入需要交换的第一个数:");
		int a=new Scanner(System.in).nextInt();
		System.out.println("请输入需要交换的第二个数:");
		int b=new Scanner(System.in).nextInt();
		System.out.println("未交换时第一个数的值为:"+a);
		System.out.println("未交换时第二个数的值为:"+b);
		//3.交换a,b这两个变量的值
		int t;//定义一个变量用来辅助交换
		t=a;//把a的值交给t来保存
		a=b;//把b的值交给a来保存
		b=t;//把t的值交给b来保存
		System.out.println("交换后的第一个数为:"+a);
		System.out.println("交换后的第一个数为:"+b);
	}

}

(2)引用类型

我们学习的是String字符串类型,这个类型的数据需要使用双引号包裹

5.变量

(1)定义时直接赋值(变量类型 变量名=变量值)

double r=new Scanner(System.in).nextDouble();

(2)先定义,在赋值

double r;
r=new Scanner(System.in).nextDouble();

(3)注意

=是赋值符号,等号右边的值交给等号左边的变量来保存

6.案例中总结的经验

(1)静态数据和动态数据进行拼接时,需要用+号
(2)char字符型即可以保存单个字符,也可以保存数字,只不过数字回去查ASCII码
(3)变量进行值交换,首先需要一个第三方变量协助交换,代码格式:写相对,收尾相连
(4)从控制台接收用户的输入数据

int a=new Scanner(System.in).nextInt()

7.基本类型的字面值

(1)整数的字面值是int
(2)浮点数的字面值是double
(3)byte,short,char这三种比int小的正整数可以使用范围内的值直接赋值
(4)字面值后缀L-long,F-float,D-double
(5)进制前缀:0b-二进制,0-八进制,0x-十六进制

例5:练习字面值规则

package cn.tedu.basic;
/**
 * 本类用于练习字面值规则
 */
public class Demo {

	public static void main(String[] args) {
		/**1.整数的默认类型为int类型*/
		int i1=99999;
		//int i2=9999999999;//右面数据的字面值为int类型,但是超出了int类型的范围
		/**2.小数的默认类型是double类型*/
		double d=3.14;
		//float f=3.14;
		/**byte,short,char三种比int小的值可以使用范围内的值直接赋值*/
		byte b1=127;
		short s=32767;
		char c=65535;
		/**3.字面值后缀 L-long类型,D-double类型,F-float类型
		 * 注意:字面值只有3个,且不区分大小写 */
		long l=9999999999L;
		float f=3.14F;
		double d2=3D;//表示不是整数类型,是小数类型
		
		
		/**基本类型的转换(大转小,需要进行强制类型转换)
		        格式:(要转的类型),比如byte b=(byte)a
		   注意:如果大类型的值超出了小类型的范围,数据会溢出,出错*/
		int a=128;
		byte b=(byte)a;
		System.out.println(b);//溢出
		
		int a2=1;
		byte b2=(byte)a2;
		System.out.println(b2);
		
		float f1=32.8f;
		int i5=(int)f1;
		System.out.println(i5);
	}
}

9.类型转换

(1)Boolean类型不参与类型转换
(2)小转大,直接转—隐式转换
(3)大转小,强制转—显示转换

int a=127;
byte b=(byte)a;

(4)浮变整,小数没—浮点型转整型是直接舍弃所有的小数部分,不会四舍五入.
(5)类型能否转换,取决于类型的取值范围,而不是字节数,字节数只能做大概的参考

10.5条运算法则

(1)运算结果的数据类型与最大类型保持一致
(2)3种比int小的类型,运算时会自动提升成int类型再计算
(3)整数运算溢出的问题,一旦溢出,数据就会发生错误
(4)浮点数运算不精确
(5)浮点数的特殊值infinity与NAN

例6:测试运算规则

package cn.tedu.basic;
/**
 * 这个类用来测试运算规则
 */
public class Demo2 {
	public static void main(String[] args) {
		//1.计算结构的数据类型,与最大类型保持一致
		System.out.println(3/2);//int/int,得到的结果类型为int
		System.out.println(3/2.0);//int/double,得到的结果类型为double
		
		//2.byte,short,char三种比int小的整数,运算时会先自动转换为int
		byte b1=1;
		byte b2=2;
		byte b=(byte)(b1+b2);//b1+b2会自动提升成int类型,右面的运算结果就是int大类型
		System.out.println(b);
		
		//3.整数运算溢出问题,注意:一旦溢出,数据就不正确了,需要避免(方法:int类型转换为long类型)
		//已知光每秒跑3亿米,求光跑一年的长度
		//System.out.println(300000000*60*60*24*365);
		System.out.println(300000000l*60*60*24*365);

		//4.浮点数运算不精确
		System.out.println(1-0.8);
		
		//5.浮点数的特殊值
		System.out.println(3.14/0);//Infinity
		System.out.println(0/0.0);//NaN
		
	}

}



版权声明:本文为oriettahuiru原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。