黑马程序员-java基础
-------android培训java培训期待与您交流!----------
1.注释
为了使程序更清晰,也为了别人和自己以后更好的阅读代码,给程序增加注释是非常必须的。注释是不会被编译器执行的,只是为了增加阅读代码的方便性。Java程序中三种方式来增加注释。
a.行注释。以//标记开始无结束标记。
System.out.println("hello world!"); //在控制台打印输出"hello world!"
b.快注释。以/标记开始,最后以/标记结束。此注释不能敲套。
/*
* 这是我的第一个程序!
* 在控制台打印输出"这是我的一个简单的程序!"
*/
class Demo1{
public static void main(String[] args) {
System.out.println("这是我的一个简单的程序!");
}
}
c.文档注释。以/*标记开始,最后以/标记结束。主要用于以后用javadoc工具,生成html文档说明,以方便使用阅读。一般用于类之前。
/**
* @ClassName: FirstProg
* @Description: TODO(这里用一句话描述这个类的作用)
* @author Sergio Han
* @date 2014-7-15 上午9:47:01
* 这是第一个小程序!文档注释
*/
class Demo1{
public static void main(String[] args) {
System.out.println("这是我的一个简单的程序!");
}
}
2.标识符
在程序中自定义的类或者其它方法的名称。
主要由26个大小写英文字母,数字:0-9,符号:_$组成。
定义的标识符的规则:
i.数字不能开头
ii.不可以使用关键字
iii.java严格区分大小写
注意:为了提高阅读性,尽量取名称要有意义。
在java中定义的样式说明:
a.包名:多个单词组成所有字母都小写
xxxyyyzzz
b.类名接口名:多单词组成时,每次单词的首字母大写
XxxYyyZzz
c.变量名和函数名:多单词组成时,第一个单词首字母小写,其余剩下单词的首字母大写
xxxYyyZzz
d.常量名:所有字母都大写。多个单词时使用"_"来连接每个单词。
XXX_YYY_ZZZ
3.程序基本元素
a.数据类型
Java是一种强类型语言。每一个变量必须声明一种类型。Java中,有8种基本类型包括:
4个整数类型:int、long、short、byte
2个浮点类型:float、double
1个char类型:char
1个boolean类型:flase、true
还有一种引用类型。可以用下图表示:
Unnamed QQ Screenshot20140715193749.png
从Java内存存储来说。基本数据类型存储在栈内存中;引用数据类型存储在堆内存中。
b.常量
在Java中利用final
关键字来声明常量。例如:final double PI = 1.24;
关键词final
关键字表示这个变量只能被赋值一次,一旦赋值之后就不能在修改这个这个值了。习惯上常量名使用大写。
在Java中还有一个类常量
。表示在某个常量可以在一个类中的多个方法中使用。可以使用static final
设置一个类常量。一般定义在main
方法外部。定义示例:
/*
* 演示一个类常量定义方法。注意main方法外的PI定义方式。
*/
class Demo2{
public static void main(String[] args) {
double aPar = 1;
System.out.println("计算结果:" + aPar + PI);
}
public static final double PI = 3.14; //注意此处的声明方法
}
c.变量
在不确定某个值确定值时,可以声明变量值来代替。声明变量的语法形式,可以不赋予初始值,但在运行的时候必须赋予初始值:变量数据类型 变量名 = 初始化值;
示例:double salary;
long earthPopulation;
boolean done;
d.数据类型转换
在程序运行时,经常需要将一种数值类型转换成另一种数值类型。下面是数值类型转换的示意图:
Unnamed QQ Screenshot20140715225525.png
实心箭头代表转换的方向,无信息丢失的转换。双箭头可能有精度损失的转换。
有时候会碰到转换方向逆运算,这个时候就需要用到强制类型转换。比如将char类型转换成int类型的。强制类型转换的格式是在需要转换的类型前面加上园括号中给出想要转换的目标类型即可。这里有可能损失精度。例如:
char s = ‘4’;
int nx = (s)s;
提示:在这里的类型转换可能有时候需要四舍五入的值,可以使用Math.round()方法来获得。这是JDK中提供的四舍五入的方法。
e.运算符
介绍了数据类型,接下来需要有着各种各样的运算。
i.算术运算符:+、-、*、/
:分别表示加减乘除;+
能进行字符串的拼接;+
和-
还能表示正负数。%
:表示取模。也就是除数被被除数做除法所得的余数。++
、--
(前):++n、--n代表先进性加一和减一后在做运算。++
、--
(后):n++、n--代表使用原来的变量的值,不进行自增自减运算就参与运算。
ii.关系运算符:==
:检测左右两值是否相等。!=
:检测是否不相等。<(小于)、>(大于)、<=(小于等于)、>=(大于等于)
iii.boolean运算符:
逻辑运算符是对两个表达式进行逻辑运算。&&
:表示逻辑“与”。expression1 && expression2
:如果第一个表达式为false,结果不可能为真。||
:代表逻辑"或"expression1 || expression2
:如果第一个表达式为true时,结果自动为true,第二个表示式不用计算。!
:代表逻辑非
运算。
iiii.三元运算:条件?表达式1:表达式2
:表示如果条件为真,计算表达式1,否则计算表达式2。例如:x < y ? x : y
:返回x和y中最小的值。
iiiii.位运算:
位运算是对两个二进制数进行逻辑运算,要先将两个数转换成二进制数在进行运算。&
:代表“与”。比较两个操作数的位,都为1时,比较结果都为1,否则为0。|
:代表"或"。比较两个操作数的位,只要有一个是1,结果就为1,否则为0。^
:代表"异或"。比较两个操作数的位,两个位同时为相同时,结果就位0,不同结果为1.~
:代表“非”。操作数的位如果为0,结果为1,如果为1,结果为0。
iiiiii.位移运算:>>
:表示将二进制位进行右移。最高补数由原来最高位决定,如果原来的最高为1,则补1,否则补0-5>>3=-1
<<
:表示将二进制位进行左移。-5<<3=-40
>>>
:表示将二进制位进行右移,最高位用0补齐即可。-5>>>3=536870911
iiiiiii.赋值运算符:
在Java中定义一个变量,出个一个初始值。如:int a = 4;
表示将右边的值赋给左边的变量。也就是a为4。还有另外几种表现形式:+=、-=、*=、\=、%=。如a+=4;
相当于是先进行运算a+4
,然后将相加的结果赋值给a,也就是a=a+4
,但是这里面存在一种类型默认转换,当右边的运算结果大于左边所表达的类型值时,会进行自动默认类型降低或提升。
其他的运算方式一样。
f.特殊字符的转义符
有时候在控制台打印输出的时候需要一些特殊的符号等等,这时候就需要用到转义符来转换一下。如下是常使用的:
\b 退格 \u0008
\t 制表 \u0009
\n 换行 \u000a
\r 回车 \u0004
\“ 双引号 \u0022
\‘ 单引号 \u0027
\\ 反斜杠 \u005c
g.运算符优先级
在程序开发中可能会在一个表达式出现多个运算符,这个时候就需要区别多个运算符之间的优先级,优先级高的先运算,优先级低的后运算。下图为优先级排序。
youxianji.png