(一)黑马程序员——Java基础程序设计

------- android培训
java培训、期待与您交流! ----------
一、数据类型的划分
Java中规定了8种基本数据类型变量来存储整数、浮点数、字符和布尔值

基本数据类型:
1)四种整数类型(byte、short、int、long):
byte:8 位,用于表示最小数据单位,如文件中数据,-128~127
short:16 位,很少用,-32768 ~ 32767
int:32 位、最常用,-2^31-1~2^31 (21 亿)
long:64 位、次常用
注意事项:
int i=5; // 5 叫直接量(或字面量),即 直接写出的常数。
整数字面量默认都为 int 类型,所以在定义的 long 型数据后面加 L或 l。
小于 32 位数的变量,都按 int 结果计算。
强转符比数学运算符优先级高。见常量与变量中的例子。 

2)两种浮点数类型(float、double):
float:32 位,后缀 F 或 f,1 位符号位,8 位指数,23 位有效尾数。
double:64 位,最常用,后缀 D 或 d,1 位符号位,11 位指数,52 位有效尾
注意事项:
二 进 制 浮 点 数 : 1010100010=101010001.0*2=10101000.10*2^10(2次方)=1010100.010*2^11(3次方)= . 1010100010*2^1010(10次方)
尾数: . 1010100010 指数:1010 基数:2
浮点数字面量默认都为 double 类型,所以在定义的 float 型数据后面加F 或 f;double 类型可不写后缀,但在小数计算中一定要写 D 或 X.X
float 的精度没有 long 高,有效位数(尾数)短。
float 的范围大于 long 指数可以很大。
浮点数是不精确的,不能对浮点数进行精确比较。 

3)一种字符类型(char):
char:16 位,是整数类型,用单引号括起来的 1 个字符(可以是一个中文字符),使用 Unicode 码代表字符,0~2^16-1(65535) 。
注意事项:
不能为 0个字符。
转义字符:\n 换行 \r 回车 \t Tab 字符 \" 双引号 \\ 表示一个\
两字符 char 中间用“+”连接,内部先把字符转成 int 类型,再进行加法运算,char 本质就是个数!二进制的,显示的时候,经过“处理”显示为字符。

4)一种布尔类型(boolean):true 真 和 false 假。

基本数据类型转换规则:
隐式:
(1)转换前的数据类型与转换后的数据类型兼容
(2)转换后的数据类型比转换前的数据类型的精度大
eg: double num = 10;
显式(强制类型转换):
(1)低精度数据类型转高精度数据类型
格式:低精度数据类型 data = (高精度数据类型) 低精度数据;
eg:  int num = (int)3.1415926;


二、程序控制语句
* A:什么是流程控制语句
* 流程控制语句:可以控制程序的执行流程。
* B:流程控制语句的分类
* 顺序结构
* 选择结构
* 循环结构

顺序语句: 从上往下,依次执行。
class Demo1_Sequence {							//sequence 顺序
	public static void main(String[] args) {
		System.out.println("Hello World!11111");
		System.out.println("Hello World!3333");
		System.out.println("Hello World!22222");
		System.out.println("Hello World!44444");
	}
}

判断语句:
(1)if语句:
if(比较表达式) {
语句体;
}
执行流程:
* 先计算比较表达式的值,看其返回值是true还是false。
* 如果是true,就执行语句体;
* 如果是false,就不执行语句体;
eg:
class Demo1_If {
	public static void main(String[] args) {
		int age = 17;
		if (age >= 18) {
			System.out.println("可以浏览本网站");
		}
		System.out.println("完了");
	}
}


(2)if(比较表达式) {
语句体1;
}else {
语句体2;
}
* 执行流程:
* 首先计算比较表达式的值,看其返回值是true还是false。
* 如果是true,就执行语句体1;
* 如果是false,就执行语句体2;
eg:
class Demo3_If {
	public static void main(String[] args) {
		int num = 11;
		if (num % 2 == 0) {
			System.out.println(num + "是一个偶数");
		}else {
			System.out.println(num + "是一个奇数");
		}
	}
}

(3) if(比较表达式1) {
语句体1;
}else if(比较表达式2) {
语句体2;
}else if(比较表达式3) {
语句体3;
}
...
else {
语句体n+1;
}
* 执行流程:
* 首先计算比较表达式1看其返回值是true还是false,
* 如果是true,就执行语句体1,if语句结束。
* 如果是false,接着计算比较表达式2看其返回值是true还是false,
* 如果是true,就执行语句体2,if语句结束。
* 如果是false,接着计算比较表达式3看其返回值是true还是false,
* 如果都是false,就执行语句体n+1。
eg:
class Demo5_If {
	public static void main(String[] args) {
		int x = 2;
		if (x == 1) {
			System.out.println("男厕所欢迎您");
		}else if (x == 0) {
			System.out.println("女厕所欢迎您");
		}else {
			System.out.println("无法识别您的性别");
		}
	}
}
switch语句:
格式:
switch(表达式) {
      case 值1:
语句体1;
break;
    case 值2:
语句体2;
break;
    …
    default:
语句体n+1;
break;
    }

* 执行流程
* 先计算表达式的值
* 然后和case后面的匹配,如果有就执行对应的语句,否则执行default控制的语句
eg:
class Demo1_Switch {
	public static void main(String[] args) {
		String name = "rose";
		String gender = "妖";
		switch (gender) {
		case "男士":
			System.out.println(name + "是一位" + gender + "喜欢吃饭睡觉打dota");
		break;
		case "女士":
			System.out.println(name + "是一位" + gender + "喜欢逛街购物美容");
		break;
		default:
			System.out.println(name + "是一位" + gender + "打雌性激素维持美貌容颜");
		break;
		}
	}
}

循环语句

1)for循环
循环结构for语句的格式:
for(初始化表达式;条件表达式;循环后的操作表达式) {
循环体;
}
* 执行流程:
* a:执行初始化语句
* b:执行判断条件语句,看其返回值是true还是false
* 如果是true,就继续执行
* 如果是false,就结束循环
* c:执行循环体语句;
* d:执行循环后的操作表达式
* e:回到B继续。
eg:水仙花数
class Test4_FlowerCount {
	public static void main(String[] args) {
		int count = 0;
		for (int i = 100;i <= 999 ;i++ ) {
			int ge = i % 10;
			int shi = i / 10 % 10;
			int bai = i / 10 / 10;
			if (i == ge * ge * ge + shi * shi * shi + bai * bai * bai) {
				count ++;													//满足条件就自增,计数器思想
			}
		}
		System.out.println(count);
	}
}

(2)While循环
* 循环结构while语句的格式:
while循环的基本格式:
while(判断条件语句) {
循环体语句;
}

完整格式:
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
* 执行流程:
* a:执行初始化语句
* b:执行判断条件语句,看其返回值是true还是false
* 如果是true,就继续执行
* 如果是false,就结束循环
* c:执行循环体语句;
* d:执行控制条件语句
* e:回到B继续。
eg:输出数据1-10
class Demo1_While {
	public static void main(String[] args) {
		int x = 1;
		while (x <= 10) {
			System.out.println("x = " +  x);
			x++;
		}
	}
}

(3)do...while循环
循环结构do...while语句的格式:
 
do {
循环体语句;
}while(判断条件语句);
完整格式;
初始化语句;
do {
循环体语句;
控制条件语句;
}while(判断条件语句);
* 执行流程:
* a:执行初始化语句
* b:执行循环体语句;
* c:执行控制条件语句
* d:执行判断条件语句,看其返回值是true还是false
* 如果是true,就继续执行
* 如果是false,就结束循环
* e:回到b继续。
eg:
do {
			System.out.println("i = " + i);
			i++;
		}
		while (i <= 10);
案例:九九乘法表

class Demo_99 {
	public static void main(String[] args) {
		for(int i=1;i<=9;i++){
			for(int j=1;j<=i;j++){
				System.out.print(j+"*"+i+"="+j*i+"\t");
			}
			System.out.println();
		}
		
	}
}


你可能感兴趣的:((一)黑马程序员——Java基础程序设计)