20145227 《Java程序设计》第2周学习总结

20145227 《Java程序设计》第2周学习总结

教材学习内容总结

3.1 类型、变量与运算符

1、基本类型:在java中基本类型主要分为整数、字节、浮点数、字符与布尔。

  • 整数:分为short整数、int整数、long整数。
  • 字节:byte类型长度就是1字节。
  • 浮点数:分为float浮点数与double浮点数。
  • 字符:char类型用来储存字符符号。
  • 布尔:boolean类型课表上true与false,分别代表逻辑的真与假。
  • 代码如下:
public class Demo {
	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、变量:

  • 基本规则:用关键词来声明各种类型的变量,其中byte、short、int、long为整数类型,float、double为浮点类型,char为字符型,boolean为布尔型。
  • 字面常量:在java中写下一个值,称为字面常量。在整数字面常量表示上,可以表示为八进制、十进制、十六进制。
  • 数字常量表示法:在Java SE7之后,撰写整数或者浮点数常量时可以使用下划线更清楚的表示。想要以二进制表示则可以用0b作为开头。

3、运算符:

  • 算术运算符:加(+)、减(-)、乘(*)、除(/)、模数运算符(%)
  • 比较运算符:大于(>)、小于(<)、不大于(<=)、不小于(>=)、等于(= =)、不等于(!=)。
  • 代码如下:
public class Demo
{
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);
}
}
  • 结果截图:

  • 逻辑运算符:&&(且)、 ||(或)、!(反相)

  • 代码如下:

public class Demo
{
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));
}
}
  • 结果截图:

  • 位运算符:&(AND)、|(OR)、^(XOR)、~(补码)

  • 代码如下:

public class Demo{
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("
OR 运算:");
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("
XOR 运算:");
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);
}
}
  • 结果截图:

3.2 流程控制

1、if…else条件式:if语句有三种格式:
(1)

if(条件表达式) { 
          执行语句; }

(2)

if(条件表达式) { 
          执行语句; } 
         else { 
            执行语句; }

(3)

if(条件表达式) { 
         执行语句; }
         else if (条件表达式) {
          执行语句; } ……
            else { 执行语句; }
  • 用if...else判断数字为奇数或偶数代码如下:
public class Demo
{
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 Demo{
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的第二周了。看教材时一开始不知道“&”和“&&”的区别,后面通过看视频才明白:&时,左边无论真假,右边都进行运算;&&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。 “|”和“||”的区别同理,双或时,左边为真,右边不参与运算。

代码调试中的问题和解决过程

一开始用switch语句处理学生成绩等级代码的编译并没有通过,显示有非法字符(如下图所示)。后面经过检查才发现default后面的“:”没有用英文的冒号,所以导致编译不成功。后面改正后终于编译成功了。

其他(感悟、思考等,可选)

学习java已经半个月了,Java也学习了前面三个章节的内容。这周编写的代码比上周多很多,感觉也更加熟练了,但是偶尔还是会出现一些小问题。熟能生巧,相信在不断地练习中我能够更好的在java的世界里探索。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 1/3 20/40

参考资料

原文地址:https://www.cnblogs.com/m3182218/p/5270154.html