20145201 《Java程序设计》第二周学习总结
20145201 《Java程序设计》第二周学习总结
教材学习内容总结
本周学习了课本第三章内容,即JAVA基础语法。
3.1 类型、变量与运算符
基本类型:在java中基本类型主要可区分为整数、字节、浮点数、字符与布尔。
整数:可分为short整数、int整数、long整数。
字节:byte类型,可表示-128~127的整数。长度就是1字节。
浮点数:分为float浮点数和double浮点数。Double可表示的精度比较大。
字符:char类型用来储存字符符号。
布尔:boolean类型可表示true与false,分别代表逻辑的“真”与“假”。
各种类型可存储的数值范围,可以通过API得知。代码如下:
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、变量
数据暂存位置在程序语言中成为变量
- 基本规则:用关键词来声明。
- 字面常量:在Java中写下一个值,该值称为字面常量。整数字面常量可用十进制、八进制或十六进制表示。
- 数字常量表示法:想要以二进制表示则可以用0b作为开头,八进制以0开头,十六进制以0x开头。
3、运算符
- 算术运算:+、-、*、/、% 。
- 比较、条件运算:>、>=、<、<=、= =、!= 。
eg.比较运算使用代码:
public class Comparison
{
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);
}
}
结果如下:

- 逻辑运算:&&(AND)、||(OR)、!(NOT)。
eg:逻辑运算代码:
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)、~(补码)
位运算是逐位运算,一个一个对应运算。补码运算是将所有为0变1,1变0。
在位运算上,java还有左移(<<)和右移(>>),被挤出去的为会被丢弃。
eg:位运算代码:
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);
}
}
结果如下:

- 递增递减运算: ++、--
- 指定运算:a+=b即a=a+b
3.2流程控制
1、if…else条件式
(1)if(条件){
描述句;}
else{
描述句;}
eg:运用if…else判断数字为奇数或偶数:
程序代码:
public class Odd{
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条件式:
eg:用switch处理学生成绩等级
程序代码:
public class Level{
public static void main(String[] args){
int score = 88;
int quotient = score / 10;
char level;
switch(quotient){
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循环后变量就会消失。第一个分号后的语句每次执行循环体前会执行一次来判断是否执行循环体。第二个分号后则是每次执行完循环体后会执行一次。
eg:for循环显示九九乘法表代码如下:
public class Table{
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语句在循环执行前就进行条件判断,do...while不论条件怎样,都至少会执行一次循环。
5、break、continue
break可以离开当前区块,并执行区块后下一个描述句。
continue只会略过之后描述句,并回到循环区块开头进行下一次循环,而不是离开循环。
它们都可以配合标签使用。
教材学习中的问题和解决过程
问题:print、printf、println理解有些混乱,不知什么时候该用什么。
解决:询问同学,上网查资料。
printf主要是继承了C语言的printf的一些特性,可以进行格式化输出。
print就是一般的标准输出,但是不换行。
println和print基本没什么差别,就是最后会换行。
同时,可以利用printf输出字符串,如果输出简单字符println即可。
代码调试中的问题和解决过程
看书上的代码基本都可以看懂,中间出现了一些小问题,看着提示也可以改正。如果没有书上的代码,单独抛出问题让我自己解决,感觉会比较困难。但感觉首先应该多看别人编出的代码,逐渐建立编写程序的思路,有自己的一套编写代码的框架。
其他(感悟、思考等,可选)
经过两周的学习,逐渐对java有更深的理解。它和之前的c语言还是有很多相同的地方。感触最深的一点是,跟着视频学习要比单独看书要容易上手的多。Java主要还是要动手实践,多敲代码,过程中不断出错,不断改正,填补自己的漏洞。同时可以学习一些java的小技巧,让自己的程序变得更加简单,也可以减少因复杂的语句增加程序错误的概率。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 4500行 | 30篇 | 400小时 | |
| 第一周 | 200/200 | 2/2 | 15/15 | java相关的基础知识 |
| 第二周 | 300/500 | 1/3 | 25/40 | java相关的基础语法 |
参考资料
20145201 《Java程序设计》第二周学习总结的更多相关文章
- 20145304 刘钦令 Java程序设计第二周学习总结
20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...
- 201521123063 JAVA程序设计 第二周学习总结
1.本周学习重点(2.27-3.5) java中的数组 以二维数组为例,数组名为scores,则 (1)先声明数组 int[][] scores;或int scores[][];或int[] scor ...
- 2017面向对象程序设计(Java)第二周学习总结
2017面向对象程序设计(Java)第二周学习总结 直系学妹学弟们好!额...不要问我为什么把学妹放前面,我也不知道!我只是你们和蔼可亲的学长一枚而已.也不要问为什么是第二周学习总结而不是第一周,因为 ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第二周学习总结
丁宣元 <面向对象程序设计(java)>第二周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...
- 201521044152<java程序设计>第一周学习总结
本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...
- 20145304 刘钦令 Java程序设计第一周学习总结
20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...
- 201621123007 Java程序设计第一周 学习总结
第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...
- 201871010121 王方 《面向对象程序设计(java)》 第二周学习总结
这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/11475 ...
- 杨其菊201771010134《面向对象程序设计Java》第二周学习总结
第三章 Java基本程序设计结构 第一部分:(理论知识部分) 本章主要学习:基本内容:数据类型:变量:运算符:类型转换,字符串,输入输出,控制流程,大数值以及数组. 1.基本概念: 1)标识符:由字母 ...
- 201777010217-金云馨《面向对象程序设计(Java)》第二周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
随机推荐
- SSIM(structural similarity index),结构相似性
ssim算法原理 - 我们都不是神的孩子 - CSDN博客 http://blog.csdn.net/ecnu18918079120/article/details/60149864 一.结构相似性( ...
- js 数组求和,多种方法,并比较性能
可以借用下面12种方法对数组求和,创建一个长度为10w的数组,进行测试 every() 检测数值元素的每个元素是否都符合条件. filter() 检测数值元素,并返回符合条件所有 ...
- 62、常规控件(5)Navigation View –美观的侧滑视图
1.main_layout.xml <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.andr ...
- 认识tornado(二)
前面我们对 Tornado 自带的 hello world 作了代码组织上的解释,但是没有更加深入细致地解释.这里我们直接从main()函数开始,单步跟随,看看tornado都干了些什么. 下面是 m ...
- IE强制不使用兼容模式
[caption id="attachment_471" align="alignnone" width="431"] 强制不使用兼容模式[ ...
- Dart基础学习03--方法的使用
1.本文主要讲一下Dart中的方法是怎么定义的,下面先看一个简单的例子: void printNumber(num number) { print('The number is $number.'); ...
- 国内java,oa,weixin opensource framework www.jeecg.org
Soap/rest 为API生,为框架死,为Debug奋斗一辈子!吃符号的亏,上大小写的当,最后死在需求上!
- form表单学习
1.http://www.cnblogs.com/fish-li/archive/2011/07/17/2108884.html 2.http://www.cnblogs.com/polk6/arch ...
- 利用EasySQLMAIL实现自动数据提取和邮件发送功能 (1)
转自:http://blog.sina.com.cn/s/blog_1549483b70102wioy.html 最近几个月每天都在发通报.过程很繁琐,动作很机械,整个人就是一部机器,执行SQL,填E ...
- java调用执行cmd命令
未经允许,禁止转载!!! package practice; import java.io.BufferedReader; import java.io.File; import java.io.IO ...