每天学JAVA——JAVA基本语法,
每天学JAVA——JAVA基本语法,
一、JAVA编写规范:
1、ex : int x = 10 ; 等号前后 和分号前面都要加空格。
2、关于变量声明有没有赋值问题:
在方法中:变量声明如果没有设置内容,不会为其分配默认值0,会造成编译出错。
在类属性中: 这个时候变量不在方法里面声明,所以会存在默认值。
二、JAVA中可以方便的去除每一个数据类型的最大值和最小值。
ex :取得int数据类型范围内的最大值: Interger.MAX_VALUE ;
取得int数据类型范围内的最大值: Interger.MIN_VALUE ;
三、数据类型转换:
1、基本类型转换:
int + long = long ; int 型 = ( int )long 型 。
2、数据溢出:
public class TestDemo{
public static void main(String [] args){
int max = Interger.MAX_VALUE;
int min = Interger.MIN_VALUE;
System.out.println( max + 1 L );
System.out.println(min - ( long )1 );
}
}
解决数据溢出的主要方法可以通过扩大数据范围来完成。比in大的是long,所以现在可以使用如下两种方式完成:
用数字或变量L、(long) 数字或变量 。
四、关于JDK本身存在的bug:
double x = 10.02;
system.out.println("x * x");
输出结果为100.400399999999
输出结果之所以不正确就是犹豫JDK 自身的bug导致的,并且一直也没有得到解决。后边学到BigDecimal类, 再来学习如何处理这种问题。
五、关于int和char转换:
小写字母(ASCII)范围 :65~90 ;
大写字母(ASCII)范围 :97~100;
六、JAVA使用的UNICODE编码而不是ASCII编码。
需要提醒的是,java在定义字符时使用的并不是ASCII码,而是UNICODE编码,这是一种使用十六进制定义的编码, 可以表示出任意的文字,其中也包含了中文的编码定义。
UNICODE 设计的时候包含了所有的ASCII码,所以有一部分编码是完全和ASCII码重复的,但是也有很多编码是ASC II码没有的。
常见面试题:char型变量中能否保存一个中文汉字?为什么?
答:能够存储一个中文,因为java中以UNICODE编码,一个char占用16个字节,所以可以 保存一个中文。
七、布尔型数据的取值不能用0或非0来表示。
在许多语言中,布尔型也使用0(flase)或者非0(true)来表示,不过此概念在Java中无效,Java只有true和false。
八、三种主要运算符:三目运算符、逻辑运算符和位运算符。
1、三目运算符:int result = x > y ? x : y;
对于三目运算符,在单独讲解基础的过程中,使用的频率不会很高,但是在日后进行JAVAEE开发时,jsp页面 一定会通过EL(表达式语言)使用三目运算符进行操作,可以再Java Web 开发中学习。
2、逻辑运算符:
&:表示普通与,所有的判断条件都要依次执行;
&&:表示短路与,若干个条件,如果前面的条件返回了flase,那么后面的不再判断,结果就是false;
| :表示普通或,所有的判断条件都要依次执行;
|| :表示短路或,若干个条件,如果前面的条件返回了true,那么后面的条件不再判断,结果就是true;
3、位运算符:
包括&(位与运算)、|(位或运算)、^、~、>>、<< 、>>>,而所有的位运算符都是采用二进制数据进行操作 的。
常见面试题:请问如何可以更快地计算出2的3次方?
答:如果直接采用2*2*2 显然不是最快的,因为需要数学计算过程。由于计算机的数据都是按位保存的,所以针对此 问题移位的速度是最快的。
public class TestDemo{
public static void main(String args[]){
int x = 2;
System.out.println(x<<2); //向左移动2位
}
}
程序运行结果:
8
计算分析:
2的二进制数据:00000000 00000000 00000000 00000010;
向左边移2位: 00000000 00000000 00000000 00001000;
九、方法的命名规范:第一个单词的首字母小写,之后每个单词的首字母大写,ex:printInfo()、getMessage()。
十、方法重载时只看方法名称、参数类型及个数,而无需关注方法的返回值类型。
System.out.println()和System.out.print()也属于方法重载。
相关文章
- 暂无相关文章
用户点评