20145227 《Java程序设计》第2周学习总结
2016-03-13 00:46
323 查看
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("\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); } }
结果截图:
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 |
参考资料
Java学习笔记(第8版)《Java学习笔记(第8版)》学习指导
相关文章推荐
- jdk下载的注意事项
- java list 容器的ConcurrentModificationException
- Java各个集合(Collection)的特性和用途
- Java基础学习总结——Java对象的序列化和反序列化
- Java的native方法
- Java打印万年历
- java.lang.ClassNotFoundException: org.springframework.web.util.IntrospectorCleanupListener
- 20145240《Java程序设计》第二周学习总结
- IntelliJ IDEA:Error:java: Compilation failed
- 2.1Java开发环境配置
- Spring学习笔记十六---事务
- Spring学习笔记十七---声明式事务
- Spring学习笔记十七---事务的转播行为
- Spring 和 Hibernate 遇到问题
- Java基础----Classloader加载机制
- Spring知识-----bean scope属性
- 20145101《Java程序设计》第二周学习总结
- Spring中bean属性init-method与transaction 注意事项
- Java 内部类
- javascirpt函数整理