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

参考资料

20145240《Java程序设计》第二周学习总结的更多相关文章

  1. 20145304 刘钦令 Java程序设计第二周学习总结

    20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...

  2. 201521123063 JAVA程序设计 第二周学习总结

    1.本周学习重点(2.27-3.5) java中的数组 以二维数组为例,数组名为scores,则 (1)先声明数组 int[][] scores;或int scores[][];或int[] scor ...

  3. 2017面向对象程序设计(Java)第二周学习总结

    2017面向对象程序设计(Java)第二周学习总结 直系学妹学弟们好!额...不要问我为什么把学妹放前面,我也不知道!我只是你们和蔼可亲的学长一枚而已.也不要问为什么是第二周学习总结而不是第一周,因为 ...

  4. 201871010106-丁宣元 《面向对象程序设计(java)》第二周学习总结

    丁宣元 <面向对象程序设计(java)>第二周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...

  5. 201521044152<java程序设计>第一周学习总结

    本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...

  6. 20145304 刘钦令 Java程序设计第一周学习总结

    20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...

  7. 201621123007 Java程序设计第一周 学习总结

    第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...

  8. 201871010121 王方 《面向对象程序设计(java)》 第二周学习总结

    这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/11475 ...

  9. 杨其菊201771010134《面向对象程序设计Java》第二周学习总结

    第三章 Java基本程序设计结构 第一部分:(理论知识部分) 本章主要学习:基本内容:数据类型:变量:运算符:类型转换,字符串,输入输出,控制流程,大数值以及数组. 1.基本概念: 1)标识符:由字母 ...

  10. 201777010217-金云馨《面向对象程序设计(Java)》第二周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...

随机推荐

  1. dm8148 开发之---sii9022a hdmi传输器

    SiI9022A -HDMI 发送器    照相机.摄影机和便携式媒体播放器的高清解决方案   SiI9022a是一款超低功耗的HDMI发送器,集成度更高, 电源管理特性也更强,适用于手提式消费电子设 ...

  2. c++通过类名动态创建对象

    转载:http://www.seacha.com/article.php/knowledge/cbase/2013/0615/2154.html 主要思想:在每次创建类的过程中,通过各自类的辅助类(所 ...

  3. 学习php必须要了解的一些知识

    前言:每个人的成功都是用辛勤的劳动换来的 一.网络的基础知识 IP地址:Internet protocol address 指的是互联网协议地址,由二进制构成,(IPV4是32位的二进制),我们人为的 ...

  4. vue起手式

    主要步骤 安装node 安装npm 安装vue-cli(vue命令行工具) 初始化一个vue项目 进行开发 # 安装node # 安装npm # 安装cnpm,在中国大陆防止被墙 # 安装git # ...

  5. ASSERT(m_hWnd == hWndOrig) - 解决之

    该问题产生的原因为:创建类型为regular dll 的MFC dll中的窗口创建与其它DLL或EXE中的窗口创建混乱. 比如:dll1 中函数 fun1() 调用 dll2 中函数 fun2(),在 ...

  6. java用iText导出word文档

    1.需要导入的jar包 2.导出word并下载其实是分两步的. 第一步是将需要导出的数据导出(上传)到服务器上 第二步是将服务器上的文档下载到本地 3. 第一步.上传文档 (1)设置响应信息以及构造上 ...

  7. Ajax 处理json的方法不同

    json字符串从从后台传递到前台的方法有两种 1.使用context.Response(); 2.使用webmethod 方法调用静态函数 返回的字符串 前者返回的json是obj类型,而后者返回的是 ...

  8. vertical-align:middle;一般用于img和行内文字对齐方式

    vertical-align:top ;文字和行内块元素的顶部对齐 vertical-align:middle;居中 vertical-align:bottom;底对齐

  9. [转】[tip] localhost vs. (local) in SQL Server connection strings

    主要区别在于连接协议不同,前者(localhost)使用TCP协议,后者("(local)")使用NamedPipe协议. Sample code with SQL Server ...

  10. Asp.Net MVC anti-forgery token的问题:nameidentifier or identityprovider not present

    当使用ClaimsIdentity的时候,Asp.Net MVC在生成AntiForgeryToken的时候会默认使用User.Identity中两种ClaimsType的值:NameIdentifi ...