您的位置:首页 > 编程语言 > Java开发

二、Java学习之语言基础(1)

2016-03-26 10:52 316 查看

Java语言基础

PS: 学习语言基础很重要。。。。

基础语言要素

1. 标识符

名词解释:给类,变量,方法起的名字。

要求:

1) 标识符由字母、数字、下划线“_”、美元符号“$”或者人民币符号“¥”组成,并且首字母不能是数字。

2) 不能把关键字和保留字作为标识符。

3) 标识符没有长度限制。

4) 标识符对大小写敏感。

2. 关键字

名词解释:其实就是某种语言赋予了特殊含义的单词



注意:

1)true、false、null 不是关键字。

2)main 不是关键字!是一个被JVM识别的特殊单词。

3. 注释

名词解释:注解说明程序、调试程序。

注意:(XXX为注释内容,注释到行尾)

1)单行注释://XXX

2)多行注释:/* XXX */

3)文档注释:/*XXX /

开发中类前、属性前、,必须有文档注释。

八种基本数据类型

*八种基本数据类型:byte、short、int、long、float、double、char、boolean

四种整数类型

整数类型取值范围取值范围占用字节位数
byte-128~127-2的7次方到2的7次方-11个字节8bit
short-32768~32767-2的15次方到2的15次方-12个字节16bit
int-2147483648~2147483647-2的31次方到2的31次方-14个字节32bit
long-9223372036854774808~9223372036854774807-2的63次方到2的63次方-18个字节64bit
注意:

1)整数字面默认为int类型,定义long数据后面加L或l。

两种浮点数类型

有2种浮点型,单精度浮点型(float)及双精度(double)浮点型。

浮点数类型取值范围取值范围占用字节位数
float3.402823e+38 ~ 1.401298e-45e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方4个字节32bit
double1.797693e+308~ 4.9000000e-324e+308表示是乘以10的308次方,同样,e-308表示乘以10的负308次方8个字节64bit
注意:

1)定义float数据后面加F或f。

2)定义double数据后面加D或d。

3)double类型为默认浮点数类型,可以不写后缀,但是小数计算一定要写D/d 或 X.X 。

一种字符类型

整数类型取值范围取值范围占用字节位数
char-128~127-2的7次方到2的7次方-12个字节16bit
字节 |

注意:

1 )不能为0个字符。

2)如转义字符:\n 换行 \r 回车 \ 表示\ 。

一种布尔类型

true是真和false是假

整数类型取值范围占用字节位数
booleantrue和false1个字节1bit
5.类型转换

1)自动转换:btye —> short —> int —> long —> float —> double

2)强制转换:会损失精度,产生误差,小数点后都要舍弃。

容易超出取值范围。

int a;
byte b;
// ...
b = (byte) a;


常量与变量

变量

定义:相信对于它的定义应该不用在说了,大家应该已经熟悉又熟悉了。 例如:

a,a1,name等都是合法的变量。

说明:

1)Java要求在使用一个变量之前要对变量的类型加以声明。

2)Java中一个变量的声明就是一条完整的Java语句,所以应该在结尾使用分号。

3)可在一条语句中进行多个变量的声明,不同变量之间用逗号分隔。

变量的赋值和初始化: 变量的值可以通过两种方法获得,一种是赋值,给一个变量赋值需要使用赋值语句。另外一种方法就是初始化,说是初始化,其实还是一个赋值语句,只不过这个赋值语句是在声明变量的时候就一起完成的。

int a =10; //这就是一个变量初始化的过程
int a;
a =10; //在赋值语句的结尾应该是用分号来结束。


常量

定义:值不变的量称为常量。

例如: 1,“hello”

说明:

1)在Java中使用final关键字来定义一个常数。

2)习惯上将常量的名字统统大写。

int final a=10; //声明了一个整型常量a,它的值是10。
String final DRIVER="com.jdbc.mysql.Driver";


运算符与表达式

1. 运算符

赋值运算符号



一元运算符



算术运算符



关系运算符



递增与递减运算符



public class T {
public static void main(String[] args) {
int a = 3 , b = 3 ; // 定义两个变量a和b
int x = 6, y = 6 ;  // 定义两个变量x和y
System.out.println("a = " + a) ;
System.out.println("\t a++ = " + (a++) + " , a = " + a) ;   // 先计算后自增
System.out.println("b = " + b) ;
System.out.println("\t ++b = " + (++b) + " , b = " + b) ;   // 先自增后计算
System.out.println("x = " + x) ;
System.out.println("\t x-- = " + (x--) + " , x = " + x) ;   // 先计算后自减
System.out.println("y = " + y) ;
System.out.println("\t --y = " + (--y) + " , y = " + y) ;   // 先自减后计算

}
}


运算结果

a = 3

a++ = 3 , a = 4

b = 3

++b = 4 , b = 4

x = 6

x– = 6 , x = 5

y = 6

–y = 5 , y = 5

逻辑运算符



不管是短路还是非短路,其基本的操作结果都是一样的。



现有如下的错误代码:

public class T {
public static void main(String[] args) {
int i = 10/0;
System.out.println(i);
}
}


以上的代码只要一运行就会出现问题。

public class T {
public static void main(String[] args) {
if(10!=10&10/0==0){
System.out.println("条件满足");
}
}
}


短路

public class T {
public static void main(String[] args) {
if(10!=10&&10/0==0){
System.out.println("条件满足");
}
}
}


只要第一个条件满足,之后的程序代码都不在执行了。

位运算符



位运算符的结果表



public class T {
public static void main(String[] args) {
int x = 3 ;     // 3的二进制数据: 00000000 00000000 00000000 00000011
int y = 6 ;     // 6的二进制数据: 00000000 00000000 00000000 00000110
System.out.println(x & y) ; //与:    00000000 00000000 00000000 00000010
System.out.println(x | y) ; //或:    00000000 00000000 00000000 00000111
System.out.println(x ^ y) ; //或:    00000000 00000000 00000000 00000101
}
}


三目运算符

形式为:

结果变量=表达式?值1:值2;

if(a<b)
min=a;
else
min=b;
//可以用下面的条件运算符来处理
//min=(a<b)?a:b;


其中

1)表达式 为逻辑表达式 判断其为真或假。

2)值1 与 值2 为 可能的值 不能为表达式,也即 值1,值2 不能为 a=1这样的表达式。

3)三目运算符进行运算后 返回的是一个值 必须用变量进行保存或print(?:)直接打印 或return返回结果值。

运算符优先级



2. 表达式

表达式是由变量、操作符或是方法调用所组成的一个运算序列,并且返回一个值。

表达式类型的转换

当Java发现程序中表达试中有类型不相符的情况时,会依据下列的规则来处理类型的转换。

1.占用字节较少的类型转换成占用字节较多的类型。

2。字符类型会转换成int类型。

3.int 类型会转换成float类型。

4.表达式中若某个操作数的类型为double,则另一个操作数字也会转换成double类型。

5.布尔类型不能转换成其它类型。

public class TypeChangeDemo{
public static void main(String args[]){
char ch = 'a';
short a = -2;
int b = 3;
float f = 5.3f;
double d = 6.28;
System.out.println("(ch / a) - (d / f) - (a + b) = ");
System.out.println((ch / a) - (d / f) - (a + b) );
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: