java语言基础
java基本语法
1.java的基本数据类型
基本数据类型 | 详细类型 |
布尔类型 | boolean |
字符类型 | char (在java中占2个字节) |
整型 | byte(占1个字节),short(占2个字节),int(占4个字节) ,long(占八个字节) |
实型 | float,double(值不会因为溢出而导致出现错误) |
1.布尔类型
布尔类型用关键字Boolean来表示,布尔类型的值只有true和false两种,该类型的默认值为false。
public class test02 {
static boolean zhangsan;
static boolean lisi=true;
public static void main(String[] args){
System.out.println("zhagnsan is "+zhangsan);
System .out.println("lisi is "+lisi);
}
运行结果:
zhagnsan is false
lisi is true
2.整型
在java语言中一共有四种整型:
byte | 取值范围为-2的7次方到2的7次方-1,默认值为零,所占用的空间为1字节。 |
short | 取值范围为-2的15次方到2的15次方-1,默认值为零,所占用的空间为2字节。 |
int | 取值范围-2的31次方到2的31次方-1,默认值为零,所占用的空间为4字节。 |
long | 取值范围-2的次63方到2的63次方-1,默认值为零,所占用的空间为8字节。 |
在java中,一个普通的整型数字默认为int 类型,如果想使用long类型,需要在数字尾部加L,如20L;
public class test02 {
public static void main(String[] args){
//定义各型的变量
byte b;
short s;
int i;
long l;
b=12;
s=1;
i=2;
l=13;
System.out.println("byte的为:"+b);
System.out.println("short的为"+s);
System.out.println("int的为"+i);
System.out.println("long的为"+l);
}
程序运行结果为:
byte类型的为:12
short的型的为1
int的型为2
long的型为1
3.实型
实型的值不会在计算过程中因为一处而导致异常。
4.隐式数据类型转换
自动由优先级高的到优先级低的,不需要特殊说
public class test02 {
public static void main(String[] args){
char c='c';
int a;
a=c;
System.out.println("c的编码为"+a);
}
}
程序运行结果为:
c的编码为9
5.显式数据类型转换
由优先级低的向优先级高的转换时,需要进行强制类型转换
public static void main(String[] args){
int i=111;
byte a=(byte)i;
System.out.println("a转化为byte类型为:"+a);
}
}
2.逻辑运算符及其表达式
逻辑运算符的表达式为布尔变量,当需要同时对多个变量进行判断时需要使用逻辑符号,“||”、“&&”等,java中一共有六种逻辑符号。
逻辑符号 | 逻辑意义 | 表示含义 |
& | 与 | &逻辑与,如x&y,表示x和y都为真。 |
| | 或 | |逻辑或,如x|y,表示其中有一个为真则为真 |
&& | 与 | &&逻辑与都为真是为真。 |
|| | 或 | ||逻辑或,其中一个为真则为真。 |
^ | 异或 | ^,异或,x^y,表示只有都为真或假时,为假,否则为真。 |
! | 非 | !逻辑非,表示变量的取反。 |
Ps:其中&&和||是短路运算符,“短路”顾名思义,就是在判断时候如果一方不满足条件,就不在进行下面的判断,直接返回flase,举个栗子:A&&B,如果A==flase;这时程序就不会再判断B,这个在程序中是很容易忽视非细节,如果在判断是时候还涉及变量分身的值的改变的时候,,,,就需要仔细斟酌。
相反|和&是非短路运算符,意思就是:不管A是真是假,语句总是要执行到最后一步,也就是说,程序要都跑一遍。
两种都有优缺点,选最合适的运算符,有助于提高程序的运行效率
3.数组
1.创建数组
数组在使用前要进行创建,创建的方式有以下两种
arraytype arrayname[];
arraytype [] arraynam;
上面的格式【】表明是一个数组,其中第二种方式可以对多种数组进行声明。
int array[];
int []array1,array2;
其中上面的语句只是声明了数组并没有对该数组分配空间,所以,此时不能对数组进行访问。可以使用new来分配内存,格式如下:
array1=new int[5];
注意:数组的下标是从零开始的
2.数组的初始化
对数组的初始化可以用new或者大括号的方式进行初始化
int array1=new int [ ]{1,2,3,4};//重新申请空间
int array1[ ]={1,2,3,4};//利用已经申请好的空间
3.数组的使用
在进行数组的复制的时候,可以直接将一个数组变量复制给另一个,这时候数组类型变量都会只想同一个数组,即如果有两个数组a1和a2,复制语句如下:
a1=a2;
此时两个数组类型变量都会只指向一个数组,也就是原来a2所指向的数组。(浅复制)