20145240《Java程序设计》第二周学习总结
2016-03-13 00:05
731 查看
20145240 《Java程序设计》第二周学习总结
教材学习内容总结
本周主要学习了第三章的内容,讲的是Java的一些基础语法,包括两大系统类型、变量、运算符的基本使用、类型转换及几个基本语法的练习。代码的练习量明显增多,需要注意的细节问题也逐渐增加。 1.两大系统类型 1)基本类型 本章主要介绍基本类型,主要包括整数、字节、浮点数、字符、布尔。 - 整数(数值型):short整数(占两字节)、int整数(占4字节)、long整数(占8字节)。 - 字节(数值型):byte(占一字节),可表示-128~127的整数。 - 浮点数(数值型):float浮点数(占四字节)、double浮点数(占8字节)。float认为是单精度,double是双精度,因此double的精确度比较大。输入小数时若不强调,则系统默认为double。 - 字符(字符型):char类型(占2字节),用双字节储存。 - 布尔:boolean,只能表示true(真)和false(假)。 2)类类型(参考类型) 后面章节会讲到。 2.变量 1) 什么时候定义变量?当数据不确定时,需要对数据进行存储时,就定义一个变量来完成存储。定义变量时应遵循驼峰式命名法,以小写字母开始,并在每个单字开始时第一个字母大写。如果在指定变量之后 不想再修改变量值,可在声明变量时加上final限定。 2)在整数字面常量表示上,十六进制以0x开头,八进制以0开头,二进制以0b开头。 3.运算符的基本使用 1)算数运算:+、-、*、/ 2)比较、条件运算:>、>=、<、<=、= =、!=、 3)逻辑运算:AND、OR、NOT、&&(AND)、||(OR)、!(NOT)。|/&两边都运算,||/&&左边为假时,右边不运算。 4)位运算:逐位运算。补码运算:0变1,1变0。左移<<:乘以2的移动位数次幂。右移>>:除以2的移动位数次幂,最高位补什么由原有数据的最高位值而定,但可能影响值。无符号右移>>>:无论最高位是什么 都用0补。 eg: public class Demo{ public static void main(String[] args) { int num = 60;//获取60的最低4位,通过&15 int n1 = num & 15; System.out.println((char)(n1-10+'A'));//要获取下一组四位,将60右移四位 int temp = 60 >>> 4; int n2 = temp & 15;//对temp的值进行最低四位的获取 System.out.println(n2); }
}
运行结果:
5)递增递减运算:x+=4中的+=是将左右两边的和赋给左边,内部有自动转换。 4.基本语法 1)if…else eg:根据指定月份打印所属季节。 public class Season{ public static void main(String[] args) { int x = 4; if(x==3 || x==4 || x==5) System.out.println(x+"春季"); else if(x==6 || x==7 || x==8) System.out.println(x+"夏季"); else if(x==9 || x==10 || x==11) System.out.println(x+"秋季"); else if(x==12 || x==1 || x==2) System.out.println(x+"冬季"); else System.out.println(x+"不存在"); }
}
运行结果:
2)switch:判断具体数值不多时。 eg: public class SwitchDemo{ public static void main(String[] args) { int a = 4,b = 2; char ch = '+'; switch(ch) { case'-': System.out.println(a-b); break; case'+': System.out.println(a+b); break; case'*': System.out.println(a*b); break; case'/': System.out.println(a/b); break; default: System.out.println("no"); } }
}
运行结果:
3)for循环:变量有自己的定义域,对于for来讲,如果将用于控制循环的增量定义在for语句中,那么变量只在for语句中有效,for语句执行完毕该变量在内存中被释放。for和while可以进行互换,如果需要 定义循环增量,就用for更加合适 eg: public class ForDemo{ public static void main(String[] args) { for(int x = 0;x<3;x++) { System.out.println("x="+x); } }
}
运行结果:
eg:循环嵌套,打印图形。图形尖向上:可以改变条件,让条件随着外循环变化;图形尖向下:可以初始化值,让初始化随着外循环变化。
public class ForFor{
public static void main(String[] args)
{
int z = 5;
for(int x=0; x<5; x++)
{
for(int y=0; y<z; y++)
{
System.out.print("");
}
System.out.println();
z--;
}
}
}
运行结果:
eg:九九乘法表
public class Cheng{
public static void main(String[] args)
{
for(int x=1; x<=9; x++)
{
for(int y=1;y<=x;y++)
{
System.out.print(y+""+x+"="+y*x+"\t");
}
System.out.println();
}
}
}
运行结果;
4)while循环:while先判断条件,条件满足才执行循环体。do…while无论条件是否满足,循环体至少执行一次。 eg: public class While{ public static void main(String[] args) { while(true) { int number = (int)(Math.random() * 10); System.out.println(number); if(number == 5) { System.out.println("I hit 5...Orz"); break; } } }
}
运行结果:
5)break、continue:break和continue单独存在时下面可以接任何语句,因为都执行不到。continue只能用于循环结构,结束本次循环,继续下一次循环。 6)循环结构:当对某些语句执行很多次试就需要使用循环结构。循环时应明确哪些语句需要参与循环。 无限循环的最简单表现形式: for(;;){} while(true){}
教材学习中的问题和解决过程
在本周的测试中,课本p21第十题,以下()包括在JRE中。A.开发工具程序 B.Java SE API C.JVM D.部署技术,我认为答案是BCD,而老师您课上给出的答案是BC。课本上P15页提示部分说明了JRE实际上还包括了 部署技术。
代码调试中的问题和解决过程
基本没有大问题,有的错误看提示和多检查下代码后就能解决,我觉得以后还是要多自己编代码,不能一直照着敲,多一些自己的想法。
其他(感悟、思考等,可选)
Java语言与c语言有很多相似之处,但是自从学习Java以来练习量比C语言的多了很多,感觉也扎实了。区别之处包括输出的时候有较大区别,C语言直接printf就可以,而java则是不变的内容需要加“”再通过+连 接变量等内容。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 1/2 | 20/20 | |
第二周 | 400/600 | 1/3 | 50/70 |
参考资料
Java学习笔记(第8版)《Java学习笔记(第8版)》学习指导
...
相关文章推荐
- 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函数整理
- Spring MVC中文乱码解决方案
- NetBeans IDE For PHP 简体中文版 8.1安装配置
- SpringMVC+SwfUpload进行多文件同时上传
- Java学习之输入输出流/文件读写
- Java之 将程序打包成jar包
- JAVA学习笔记03
- java中静态代码块的用法及其与静态方法的区别
- Java观察者设计模式