java发展史
1.1 Java语言发展史(了解)
语言:人与人交流沟通的表达方式
计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言
Java语言是美国Sun公司(Stanford University Network)在1995年推出的计算机语言
Java之父:詹姆斯·高斯林(James Gosling)
2009年,Sun公司被甲骨文公司收购,所以我们现在访问oracle官网即可:[https://www.oracle.com](https://www.oracle.com/)
当前,我们课程使用的JDK版本:8.0
### 1.2 Java语言跨平台原理(理解)
Java程序并非是直接运行的,Java编译器将Java源程序编译成与平台无关的字节码文件(class文件),然后由Java虚拟机(JVM)对字节码文件解释执行。所以在不同的操作系统下,只需安装不同的Java虚拟机即可实现java程序的跨平台。
标识符的命名规则需要注意哪几点?
答:
- 由数字、字母、下划线()和美元$组成,但不能数字开头;
- 不能是关键字并且区分大小写;
- 命名应该简单易懂且和系统风格一致;
基本数据类型有哪几类?包含String吗?
答: (四类八种):
整型:byte 、short 、int 、long
浮点型:float 、 double
字符型:char
布尔型:Boolean
String是引用类型
如图所示:
整型默认的是什么类型,浮点型(实数型)默认的是什么类型?
答:java中,整型默认是int型,浮点型,默认是double型。
对于类名,方法名,常量名我们习惯如何格式来命名?
答:Java标识符的命名习惯如下:
1.包名:aabbcc(全小写) 如:read
2.类名、接口名:AaBbCc(大驼峰命名法——每个单词首字母大写)如:Test
3.变量名方法名:aaBbCc——小驼峰命名法:标识符是一个单词的时候,首字母小写——如name,标识符由多个单词组成的时候,第一个单词首字母小写,其他单词首字母大写——例如fistName
4.常量名:AA_BB_CC(全部大写) 如:MAX_VALUE,
定义一个变量需要注意什么?
答:
1.名字不能重复,定义一个变量未赋值不能使用,
2.当使用float和long的时候,数据值的后面要添加F和L,
3.使用byte和short的时候,等号右边的范围不能超过等号右边的取值范围
4.不能超过作用域范围
5.可以一个语句定义多个变量,但是不建议
6.变量必须初始化变量才能使用,没有初始化的变量不能使用
定义float f=3.4;是否正确?
答:该定义不正确。3.4 是小数是双精度数,双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称被为窄化)会造成精度损失,因此需要强制类型转换
应该写成float f =(float)3.4; 或防止类型不兼容,后面要加F写成 float f =3.4F;。
基本数据类型变量之间自动类型提升的运算规则。
答:当容量小的数据类型和容量大的数据类型运算时,结果自动提升为容量大的类型。
byte、char、short----->int------>long----->float------>double
需要注意的是:当byte、char、short三种类型做运算时,结果为int类型。
如图所示:
基本数据类型变量之间强制类型转换的使用规则和强转可能出现的问题。
容量不同的数据类型强制转换会出现精度损失;强制类型转换,又被称为造型,用于显式的转换一个数值的类型。在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出。
使用规则如下:
Double X =7.26
Int nx = (int)x
输出结果为7
如图:
判断是否能够通过编译:
- short s = 5; s = s-2; ?不能
- byte b = 3; b = b + 4; ?不能
b = (byte)(b+4); ?可以,值为7
- char c = ‘a’; int i = 5; float d =0.314F; double result = c+i+d; ?能
- byte b = 5; short s = 3; short t = s + b; ?不能,应为int t=s+b
编程题
-
为抵抗洪水,战士连续作战89小时,编程计算共多少天零多少小时?
int hour = 89;
int day = hour / 24;
hour = hour % 24;
System.out.println("为抵抗洪水,战士连续作战" + day + "天" + hour + "小时");
今天是周二,100天以后是周几?
int week = 2;
week += 100;
week = week % 7;
System.out.println("100天后星期" + week);
编写代码实现两个变量值交换,int m = 3, n =5;
int temp = m;
m = n;
n = temp;
小明要到美国旅游,可是那里的温度是以华氏度为单位记录的。它需要一个程序将华氏温度(80度)转换为摄氏度,并以华氏度和摄氏度为单位分别显示该温度。
int h = 80;
double s = (h - 32) / 1.8;
-