20145312 《Java程序设计》第2周学习总结
20145312 《Java程序设计》第2周学习总结
教材学习内容总结
1.1类型、变量与运算符
1.1.1类型
1.基本类型
整数:short(2字节)、long(8字节)、int(4字节);
字节:byte(图像处理、编码处理),表示-128~127的整数;
浮点数:float(4字节)、double(8字节);
字符:char储存字符符号,每个字符类型占2字节;
布尔:boolean类型可表示true与false。
代码如下:
public class Leixing
{
public static void main (String[] args)
{
//byte、short、int、long范围
System.out.printf("%d ~ %d%n",Byte.MIN_VALUE,Byte.MAX_VALUE);
System.out.printf("%d ~ %d%n",Short.MIN_VALUE,Short.MAX_VALUE);
System.out.printf("%d ~ %d%n",Integer.MIN_VALUE,Integer.MAX_VALUE);
System.out.printf("%d ~ %d%n",Long.MIN_VALUE,Long.MAX_VALUE);
//float、double精度范围
System.out.printf("%d ~ %d%n",Float.MIN_EXPONENT,Float.MAX_EXPONENT);
System.out.printf("%d ~ %d%n",Double.MIN_EXPONENT,Double.MAX_EXPONENT);
//char可表示的Unicode范围
System.out.printf("%h ~ %h%n",Character.MIN_VALUE,Character.MAX_VALUE);
//boolean的两个值
System.out.printf("%b ~ %b%n",Boolean.TRUE,Boolean.FALSE);
}
}
结果截图:
2.常用格式控制符号
%d:十进制整数格式输出;
%f:十进制浮点格式输出;
%x,%X:十六进制格式输出;
%s,%S:字符串格式符号;
\n:换行符号。
1.1.2变量
1.基本规则
使用变量名int,short,long,float,double,char,boolean等声明何种类型的变量;
命名规则:int xxxYyyZzz;如:int ageOfStudent;
2.字面常量
int number1 = 12; //十进制表示;
int number2 = 0xC; //十六进制,以0x开头;
int number3 = 014; //八进制,以0开头;
double number1 = 0.00123;
double number2 = 1.23e-3(可使用科学记号);
char size = ‘S’;
char lastName = ‘林’;
boolean flag = true;
Boolean condition = false;
3.常用忽略符号
\’\”:单双引号;
\b:倒退一个字符;
\f:换页;
\n:换行;
\r:光标移至行首;
\t:制表符,相当于Tab;
1.1.3运算符
1.算术运算:+、-、*、/,先乘除后加减。
2.比较、条件运算
大于(>)、小于(<)、不小于(>=)、不大于(<=)、等于(==)、不等于(!=)。
代码如下:
public class Yunsf
{
public static void main(String[] args){
System.out.printf("10 > 5 结果 %b%n", 10 > 5);
System.out.printf("10 >= 5 结果 %b%n", 10 >= 5);
System.out.printf("10 < 5 结果 %b%n", 10 < 5);
System.out.printf("10 <= 5 结果 %b%n", 10 <= 5);
System.out.printf("10 == 5 结果 %b%n", 10 == 5);
System.out.printf("10 != 5 结果 %b%n", 10 != 5);
}
}
结果截图:
3.逻辑运算符:&&(且)、 ||(或)、!(反相)
代码如下:
public class Luojiys
{
public static void main(String[] args)
{
int num=75;
System.out.println(num > 70 && num < 80);
System.out.println(num > 80 || num < 75);
System.out.println(!(num > 80 || num < 75));
}
}
结果截图:
4.位运算
AND(&)、OR(|)、XOR(^)、补码(~)、左移(<<)、右移(>>)。
位运算是逐位运算,补码运算是将所有位0变1、1变0。
代码如下:
public class Weiys
{
public static void main(String[] args)
{
System.out.println("AND 运算:");
System.out.printf("0 AND 0 %5d%n", 0&0);
System.out.printf("0 AND 1 %5d%n", 0&1);
System.out.printf("1 AND 0 %5d%n", 1&0);
System.out.printf("1 AND 1 %5d%n", 1&1);
System.out.println("\nOR 运算:");
System.out.printf("0 OR 0 %6d%n", 0|0);
System.out.printf("0 OR 1 %6d%n", 0|1);
System.out.printf("1 OR 0 %6d%n", 1|0);
System.out.printf("1 OR 1 %6d%n", 1|1);
System.out.println("\nXOR 运算:");
System.out.printf("0 XOR 0 %5d%n", 0^0);
System.out.printf("0 XOR 1 %5d%n", 0^1);
System.out.printf("1 XOR 0 %5d%n", 1^0);
System.out.printf("1 XOR 1 %5d%n", 1^1);
}
}
结果截图:
5.递增递减运算
Int i=0;
System.out.println(i++);
System.out.println(i--);
6.指定运算
a+=b a=a+b;
a =b a=ab;
a&=b a=a&b;
以此类推。
1.2 流程控制
1、if…else条件式:if语句有三种格式:
(1)
if(条件表达式) {
执行语句; }
(2)
if(条件表达式) {
执行语句; }
else {
执行语句; }
(3)
if(条件表达式) {
执行语句; }
else if (条件表达式) {
执行语句; } ……
else { 执行语句; }
用if...else判断数字为奇数或偶数代码如下:
public class Panduanjiou
{
public static void main(String[] args)
{
int input = 10;
int remain = input % 2;
if(remain == 1)
{
System.out.printf("%d 为奇数%n", input);
}
else
{
System.out.printf("%d 为偶数%n", input);
}
}
}
结果截图:
2、switch条件式:格式如下
switch(表达式) {
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
…...
default: 执行语句;
break; }
用switch语句处理学生成绩等级代码如下:
public class Xueshengcj
{
public static void main(String[] args)
{
int score = 88;
int q = score / 10;
char level;
switch(q)
{
case 10:
case 9:
level = 'A';
break;
case 8:
level = 'B';
break;
case 7:
level = 'C';
break;
case 6:
level = 'D';
break;
default:
level = 'E';
}
System.out.printf("得分等级:%c%n", level);
}
}
结果截图:
3、for循环:格式如下
for(初始化表达式;循环条件表达式;循环后的操作表达式) {
执行语句;
}
for循环显示九九乘法表代码如下:
public class Demo
{
public static void main(String[] args)
{
for(int j=1; j < 10; j++)
{
for(int i=2; i < 10; i++)
{
System.out.printf("%d*%d=%2d ", i,j,i*j);
}
System.out.println();
}
}
}
结果截图:
4、while循环:
- while语句格式:
while(条件表达式) {
执行语句;
}
do while语句格式:
do { 执行语句;
}
while(条件表达式);
do while特点是条件无论是否满足, 循环体至少被执行一次。
5、break(跳出)、continue(继续)
break语句:应用于选择结构和循环结构。
continue语句:应用于循环结构。
教材学习中的问题和解决过程
一开始不明白书上说的类型转换是什么意思,后来观看视频后知道了因为每种变量的占字节数不一样,所以赋值时,低字节的会自动升为高字节,输出时就会显示超出精度,所以要强制转换类型。
代码调试中的问题和解决过程
错误如下:
改正后:
错误如下:
改正后
其他(感悟、思考等,可选)
书上的知识讲解较为抽象,但详细精确,视频容易理解但比较简略,所以两个要结合起来学习。书上的案例要亲自实践一下才能印象深刻。现在我基本能够掌握Java的学习步骤,还要再勤加练习。
学习进度条
参考资料
Java学习笔记(第8版)
《Java学习笔记(第8版)》学习指导