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

参考资料

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

  1. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  2. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  3. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  4. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  5. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  6. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  7. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  8. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

  9. 《Java程序设计》第九周学习总结

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

  10. 《Java程序设计》第二周学习总结

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

随机推荐

  1. MongoDB时间类型

    mongdb时间类型 Date() 显示当前的时间 new Date 构建一个格林尼治时间   可以看到正好和Date()相差8小时,我们是+8时区,也就是时差相差8,所以+8小时就是系统当前时间 I ...

  2. PLSQL 的简单命令之三

    -- 查找两个表中ID相等的 select a.id, a.name,b.math from stu a,scores b where a.id = b.id -- 右外连接 select b.id, ...

  3. ios9 升级后 企业版app plist无法安装

    昨天apple推送了ios9, 公司的一些app是企业版的,平常通过 item-service 结果更改如下 plist可以了 itms-services://?action=download-man ...

  4. HttpwebClient的四种请求方式

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷.      本文旨在发布代码,供自己参考,也供大家参考,谢谢. 正题: Ht ...

  5. C#并发处理-锁OR线程安全?

    每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客! 当然,题外话说多了,咱进入正题! 背景 基于任务的程序设计.命令式数据并行和任务并行都要求能够支持并发更新的数组.列表和集合 ...

  6. Eclipse jar打包

    方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 “MANIFEST.MF”, 由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目 ...

  7. Redis:安装

    此篇文章并不介绍linux下安装方法.围绕windows安装而介绍 两种安装方式: 1)下载压缩包,解压后(运行起来有个窗口,关闭掉就不在运行),没有windows服务被注册:可以只用命令在cmd将其 ...

  8. 刨根问底U3D---关于Delegate的方方面面

    我是否需要阅读这篇文章 Code1: private delegate void BloodNumDelegate (); public delegate void ExpNumChangeDeleg ...

  9. RMQ求区间最值 nlog(n)

    转载于:http://blog.csdn.net/xuzengqiang/article/details/7350465 RMQ算法全称为(Range Minimum/Maximum Query)意思 ...

  10. [转]-Dmaven.multiModuleProjectDirectory system propery is not set. 解决方案 适用于myeclipes 和 eclipes

    eclipse中使用maven插件的时候,运行run as maven build的时候报错 -Dmaven.multiModuleProjectDirectory system propery is ...