Java EE:【1】基础语法

 

一、注释

注释  
单行注释 //开头,后面的单行内容均为注释
多行注释 /*开头以*/结尾,之间的内容为注释
文档注释 /**开头以*/结尾,之间的内容为注释
package com.test.java;
/**
 * 文档注释
 * @author 林
 *
 */
public class Test{
	/*
	 * 多行注释
	 * */
    public static void main(String[] args){
        System.out.println("Hello Java");	//单行注释
	}
}

 

二、变量

变量分类 声明位置 从属于
局部变量 方法或语句块内部 方法/语句块
成员变量(实例变量) 类内部,方法外部 对象
静态变量(类变量) 类内部,static修饰
public class Test {
	String com="SL";	//成员变量
	static int size;	//静态变量
	
	public static void main(String[] args) {
		String name;	//局部变量
		int age;		
	}
}

 

三、数据类型

3.1 整型

类型 占用存储空间 表数范围
byte 1字节 -27 ~ 27-1(-128~127)
short 2字节 -215 ~ 215-1(-32768~32767)
int(默认类型) 4字节 -231 ~ 231-1 (-2147483648~2147483647)约21亿
long 8字节 -263 ~ 263-1

整型常量的表示形式:

  • 十进制整数,如:99, -500, 0

  • 八进制整数,要求以 0 开头,如:015

  • 十六进制数,要求 0x 或 0X 开头,如:0x15

  • 二进制数,要求0b或0B开头,如:0b01110011

 

3.2 浮点型

类型 占用存储空间 表数范围
float 4字节 -3.403E38~3.403E38
double(默认类型) 8字节 -1.798E308~1.798E308

浮点类型的表示形式

  • 十进制数形式,例如:3.14,314.0,0.314

  • 科学记数法形式,如314e2,314E2,314E-2

 

3.3 字符型

char字符型在内存中占2个字节,在Java中使用单引号来表示字符常量。

转义符 含义 Unicode值
\b 退格(backspace) \u0008
\n 换行 \u000a
\r 回车 \u000d
\t 制表符(tab) \u0009
\“ 双引号 \u0022
\‘ 单引号 \u0027
\ 反斜杠 \u005c

 

3.4 布尔型

boolean类型有两个常量值,true和false,在内存中占一位(不是一个字节)。

 

3.5 类型转换

自动类型转换:容量小的类型自动转换为容量大的数据类型。

强制类型转换:容量大的数据类型转换为容量小的数据类型。

【数据类型按容量大小排序为】

Java EE:【1】基础语法

  1. 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。
  2. byte, short, char之间不会相互转换,他们三者在计算时首先转换为int类型。
  3. boolean类型不能与其它数据类型运算。
  4. 基本数据类型与字符串进行连接运算,基本数据类型自动转换位字符串类型。

 

四、运算符

4.1 算术运算符

运算符  
+,-,*,/,% 一元运算符
++,-- 二元运算符
 public class Test {
     public static void main(String[] args) {
         int a,b,c,d;
         a=3;
         b=a++;  // 先赋值后计算
         System.out.println(a);      //a=4
         System.out.println(b);      //b=3
         System.out.println("--------------------");
         c=3;
         d=++c;  // 先计算后赋值
         System.out.println(c);      //c=4
         System.out.println(d);      //d=4
     }
 }

 

4.2 赋值运算符

运算符 用法举例 等效的表达式
+= a += b a = a+b
-= a -= b a = a-b
*= a *= b a = a*b
/= a /= b a = a/b
%= a %= b a = a%b

 

4.3 关系运算符

运算符 含义 示例
== 等于 a==b
!= 不等于 a!=b
> 大于 a>b
< 小于 a<b
>= 大于或等于 a>=b
<= 小于或等于 a<=b

 

4.4 逻辑运算符

运算符 含义
&(逻辑与) 两个操作数为true,结果才是true,否则是false
|(逻辑或) 两个操作数有一个是true,结果就是true
&&(短路与) 只要有一个为false,则直接返回false
||(短路或) 只要有一个为true, 则直接返回true
!(逻辑非) 取反:!false为true,!true为false
^(逻辑异或) 相同为false,不同为true
 boolean c = 1>2 && 2>(3/0);     //不计算2>(3/0)
 boolean d = 1>2 & 2>(3/0);      //需计算2>(3/0)

 

4.5 位运算符

位运算指的是进行二进制位的运算。

位运算符 说明
~ 取反
& 按位与
| 按位或
^ 按位异或
<< 左移运算符,左移1位相当于乘2
>> 右移运算符,右移1位相当于除2取商
 int a=3<<2;     //相当于:3*2*2,结果为12
 int b=24>>2;    //相当于:24/2/2,结果为6

 

4.6 条件运算符

 x ? y : z

其中 x 为 boolean 类型表达式,先计算 x 的值,若为true,则整个运算的结果为表达式 y 的值,否则整个运算结果为表达式 z 的值。

 

4.7 运算符优先级

优先级 运算符
1 () 括号运算符
2 !、+(正号)、-(负号) 一元运算符
2 ~ 位逻辑运算符
2 ++、-- 递增与递减运算符
3 *、/、% 算术运算符
4 +、- 算术运算符
5 <<、>> 位左移、右移运算符
6 >、>=、<、<= 关系运算符
7 ==、!= 关系运算符
8 & 位运算符、逻辑运算符
9 ^ 位运算符、逻辑运算符
10 | 位运算符、逻辑运算符
11 && 逻辑运算符
12 || 逻辑运算符
13 ? : 条件运算符
14 =、+=、-=、*=、/=、%= 赋值运算符、扩展运算符

 

五、控制语句

5.1 if 语句

if(布尔表达式){
    语句块
}

 

5.2 if-else语句

if(布尔表达式){
	语句块1
}else{
	语句块2
}

 

5.3 if-else-if-else 语句

if(布尔表达式1) {
	语句块1;
} else if(布尔表达式2) {
	语句块2;
}……
else if(布尔表达式n){
    语句块n;
} else {
    语句块n+1;
}

 

5.4 switch 语句

switch (表达式) {
case 值1: 
	语句序列1;
	[break];
case 值2:
    语句序列2;
	[break];
     … … …      … …
[default:
 	默认语句;]
}

 

5.5 while语句

while 语句:先判断,后循环。

while (布尔表达式) {
    循环体;
}

 

5.6 do-while 语句

do-while 语句:先循环,后判断。

do {
	循环体;
} while(布尔表达式) ;

 

5.7 for 语句

for循环是while循环简化版。

for (初始表达式; 布尔表达式; 迭代因子) {
      循环体;
}

 

5.8 break语句

break语句:于强行退出循环,不执行循环中剩余的语句。

public class Test{
    public static void main(String[] args){
        int sum=0;
        while(true) {
        	sum++;
        	int i=(int)Math.round(100*Math.random());
        	if(i==88) {
        		break;
        	}
        }
        System.out.println(sum);	//输出循环的次数
	}
}

 

5.9 continue语句

continue语句:跳过循环体中尚未执行的语句,返回到是否执行循环的判定。

public class Test{
    public static void main(String[] args){
        int sum=0;
        for(int i=1;i<100;i++) {
        	if(i%3!=0) {
        		continue;
        	}      	
        	sum++;
        }
        System.out.println(sum);	//统计被3整除数量
	}
}

 

六、语句块

语句块:是用花括号扩起的任意数量的简单Java语句。

public class Test {
    public static void main(String[] args) {
        int n;
        int a;
        {	//语句块
            int k;
            int n; //编译错误:不能重复定义变量n
        } //变量k的作用域到此为止
    }
}

 

七、递归结构

递归的基本思想就是“自己调用自己”。

递归结构包括两个部分:定义递归头与递归体。

package com.test.java;
 
public class Test {
 
	public static void main(String[] args) {
		System.out.println(factorial(5));
	}
	
	static long factorial(int n) {
		if(n==1) {	//递归头
			return 1;
		}else {		//递归体
			return n*factorial(n-1);
		}
	}
}

 

上一篇:ASP.NET MVC3入门教程之ajax交互


下一篇:DRILLNET 2.0------第十章 井筒固井模块