java语言笔记-2019.08.03
编译运行
dos控制台下解释执行class文件
dos控制台下解释执行class文件不要加文件后缀.class
错误示范:
正确示范:
p.s.乱码是由于我的dos下使用了GBK编码,可转成支持中文的UTF-8
变量与常量(一)
命名规范
类名首字母一般为大写
类名:
-
符合标识符规则
-
符合Pascal命名法:即每个单词首字母大写
错误案例:
class helloWorld{
//……
//要写入的代码
}
正确示范:
class HelloWorld{
//……
//要写入的代码
}
大小写敏感
java对大小写敏感,例如void
是关键字,Void
是标识符,因为java对大小写敏感
错误案例
class HelloWorld{
public static void main(string[] args){
system.out.println("这是我不知道第几个HelloWorld\n");
}
}
dos下 javac编译后出错
out:
正确示范
class HelloWorld{
public static void main(String[] args){
System.out.println("这是我不知道第几个HelloWorld\n");
}
}
数值
八、十、十六进制表示
数值表示来区分八、十、十六进制
八进制以0开头:012
,067
十六进制以0x或0X开头:0x12AD
,0Xffff
数值类型
整型字面值默认情况下是int类型,int i = 0;
,0默认情况下是int型。
后面加大小写L,int i = 0L;
或者int i = 0l
,则0为长整型
同理浮点型字面值默认为默认double类型,字面值后面加f/F
,单精度浮点型;加d/D
,双精度浮点型
赋值的更多思考
以下问题及解答来源链接
问题:将一个整型的常量(字面值为int)赋给一个byte或者short类型的变量,只要不超过byte或short取值范围,就可以通过编译,但是将一个浮点型的常量(字面值的double)赋给一个float类型的变量,即使不超过float的取值范围也会编译错误
float f = 1.23;
- 在java中默认整型为int类型,默认浮点类型为double类型,例如byte a = 1;
虽然默认1是int类型,但是会隐含默认转换,只要不超范围就不会有错。 - 整型的高低位转换仅仅是字面量才不会编译错误,如果使用变量,编译器是无法识别。
- 整型的高位向低位转换就是暴力的把前面的位干掉,例如 long转int就是把
long的高32位干掉,但浮点类型标识的是精度小数,所以没有办法按照去截取头部的位,而double在转float时,会开启8个字节来存放,必须加上F标识创建4个字节的空间才能赋值。
我在该博主的回答上再加一条,就是将一个小的数值类型的字面值赋值给一个大的数值类型的变量是可行的.
long l = 123;
double d = 1.23f;
double d1 = 123; //int赋值给double不报错,因为double类型是最大的数值类型
double d2 = 123L;
本笔记由Casidhe_Li17记载于2019.08.03,方便自己记忆查询及使用,转载及使用请注明出处。