每天学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()也属于方法重载。










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值