java基础:语法(二)

来源:互联网 发布:算法第四版英文 pdf 编辑:程序博客网 时间:2024/04/28 23:48

       语法在这里不会真的从头到尾重新捋一遍,大家可以从书本教程等途径轻易获取,这里会挑一些点来写。

       首先,给一张学习路线图,让大家心里有个数,一点点补齐自己的要学的。

        

       在我们前面搭建好环境,运行起第一个java程序之后。下面将对一些需要注意的点进行总结。

      一:HelloWorld 

a. java严格区分大小写,如声明一个字符串变量 String str="abc";  与String Str="abc",它俩是不同的。
b.java由一条条语句构成,每个语句以分号 ; 结束, 这个是初学者常犯的错误之一,这个是半角下的分号,也就是输入法切到英文下的分号 
c.java应用程序的执行入口是main()方法。它有固定的书写格式:public static void main(String [] args)  {...}
d. 一个源文件只能有一个public类,其他类的个数不限,如果源文件包含一个public类,它必须按该类名命名。

           如下,该类类名就应该是HelloWorld而非Student:

class Student{}public class HelloWorld{}
命名规范

定义合法标识符规则
Java中的名称命名规范        

三:java基本数据类型

  java基本数据类型有8种:

char                                                                         ----字符型
byte, short, int, long, float, double ----数值型(整和浮点型)
boolean   ----布尔型

       自动类型转换:在运算时容量小的类型自动转换为容量大的数据类型,数据类型按容量大小排序为:

有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。      
byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。
当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串类型。

强制类型转换
自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(()),但可能造成精度降低或溢出,格外要注意。
通常,字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换成基本类型。如: String a = “43”; int i = Integer.parseInt(a);
boolean类型不可以转换为其它的数据类型。

        四:运算符

+(加),-(减),*(乘),/(除),%(取模)
++自增(前): 先运算再取值          a=2;  b=++a;         a=3;b=3
  自增(后): 先取值再运算          a=2;  b=a++;         a=3;b=2
--自减(前): 先运算再取值          a=2;  b=--a;         a=1;b=1
  自增(后): 先取值再运算          a=2; b=a--;          a=1;b=2
+ 字符串相加                      "aaa"+"bbb"          "aaabbb"           

        如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。 但被模数是负数就另当别论。
对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。 例如   int x=1003;int x=x/1000;    结果是x=1;
“+”除字符串相加功能外,还能把非字符串转换成 字符串.例如:System.out.println("5+5="+5+5);          结果打印:5+5=55

        &”和“&&”的区别
单&时,左边无论真假,右边都进行运算;                                                                      
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。             

       逻辑运算符用于连接布尔型表达式,在Java中不可以写成 3<x<6,应该写成 x>3 && x<6 。

       异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。

       三元运算符

        int a=5;
        int b=6;
        取a和b的最大值
        System.out.println(a>b?a:b )
        注意的是,在:两边的数据类型必须兼容。 


0 0