20145214 《Java程序设计》第2周学习总结

教材学习内容总结

基本类型

  • 整数:可分为short整数、int整数、long整数。

  • 字节:即byte类型,可表示-128~127的整数。

  • 浮点数:可分为float浮点数和double浮点数,其中double的精度比较大。

  • 字符:char类型用来存储字符符号。

  • 布尔:表示true\false。

  • 通过API得知各种类型可储存的数值范围。 代码如下。

     public class type{
    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的范围
    System.out.printf("%h~%h%n", Character.MIN_VALUE, Character.MAX_VALUE); //布尔型
    System.out.printf("%b~%b%n", Boolean.TRUE, Boolean.FALSE);
    }}
  • 运行结果如下。

变量

  • 变量的作用:用来暂存资料。
  • 可用十进制、八进制或十六进制表示整数字面常量;要表示字符必须使用“”括住字符;使用忽略符号“\”,程序就会忽略下一个字符。
  • 常用忽略符号:\b 倒退一个字符; \f 换页; \n 换行; \r光标移至行首。

运算符

  • 算术运算:+、-、*、/、%.

  • 比较运算:>、>=、<、<=、==、!=.

  • 比较运算代码如下。

     public class operator{
    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).

  • 逻辑运算代码如下。

      public class operator{
    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 operator{
    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);
    }}
  • 运行结果如下。

  • 左移<<、右移>>.

  • 左移运算代码如下。

      public class operator{
    public static void main(String[] args){
    int num=1;
    System.out.printf("2 的 0 次方: %d%n", num);
    System.out.printf("2 的 1 次方: %d%n", num<<1);
    System.out.printf("2 的 2 次方: %d%n", num<<2);
    System.out.printf("2 的 3 次方: %d%n", num<<3);
    }}
  • 运行结果如下。

if...else条件式

  • 用if...else判断数字为奇数或偶数代码如下。

      public class operator{
    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);
    }
    }}
  • 运行结果如下。

switch条件式

  • switch括号中的值必须是整数、字符、字符串或Enum。开始执行后直到遇到break才离开switch区块,若case中没有符合的整数、字符、字符串或Enum,则会执行default语句。

  • 用switch语句处理学生成绩等级代码如下。

      public class operator{
    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); }}
  • 运行结果如下。

for循环

  • for的括号中,初始式只执行一次,第一个分号后的语句每次执行循环体前会执行一次用于判断是否执行循环,第二个分号后则是每次执行完循环体后会执行一次。

  • for循环显示九九乘法表代码如下。

          public class operator{
    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();
    } }}```
  • 运行结果如下。

while循环

  • while会在循环执行前就进行条件判断,do...while至少会先执行一次循环。

break、continue

  • break可以离开当前区块,执行区块后下一个描述句,continue只会略过之后描述句,并回到循环区块开头进行下一次循环,而不是离开循环。

教材学习中的问题和解决过程

-课本中switch条件式的default语句中没有加上break,如果加上break对运行结果会不会有影响?

-解决:尝试之后发现没有影响,因为break是结束区块执行,而程序执行完default之后也会自动跳出区块。

代码调试中的问题和解决过程

-问题:不清楚显示九九乘法表代码中

public class operator{
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();
}
}}

System.out.println();有什么作用

-解决:尚未解决。

其他(感悟、思考等,可选)

有了第一周的学习作为基础,第二周关于基础语法的掌握没有之前那么艰难了,在写代码的过程中也有了一点自己的小技巧可以加快速度,减少了一些不该出现的错误。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 1/3 20/40

参考资料

20145214 《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. Elasticsearch 5.x安装

    node1 elasticsearch node2 elasticsearch node3 elasticsearch 前期准备 JDK1.8 修改/etc/security/limits.conf ...

  2. 使用jQuery实现向上循环滚动效果(超简单)

    今天突发奇想 想到的一个新思路 通过使用animate改变外边距达到滚动效果 再用复制节点插入到最后一行达到循环目的 HTML代码如下 <body> <ul style=" ...

  3. html中的定位

    html中的定位体系 一. 分类 1.常规流static 2.浮动float 3.相对定位relative 4.绝对定位absolute 5.固定定位fixed 二.使用时的区分 在网页布局中,常常都 ...

  4. ecshop 后台添加新菜单 以及 权限控制

    首先 在languages\zh_cn\admin\common.php 中添加 一级菜单 二级菜单 其次 在admin\includes\inc_menu.php 中添加 然后 在admin\inc ...

  5. 『Python基础-4』字符串

    # 『Python基础-4』字符串 目录 1.什么是字符串 2.修改字符串 2.1 修改字符串大小 2.2 合并(拼接)字符串 2.3 使用乘号'*'来实现字符串的叠加效果. 2.4 在字符串中添加空 ...

  6. PAT 1001 害死人不偿命的(3n+1)猜想

    1001 害死人不偿命的(3n+1)猜想 (15 分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 (3n+1) 砍掉一半.这样一直反复 ...

  7. java getter和setter的方法及内部类的调用

    class Test{ public static void main(String[]args){ Person person=new Person(); person.age=22; person ...

  8. Go复习

    # 代码包 #命名基础包 package “base” #导入基础包 import( "base1" ba "base2" 只导入当不使用情况下需要添加别名 . ...

  9. mybatis入门(一):jdbc的缺点

    mybatis的基础内容 1.mybatis的框架原理 2.mybatis开发dao两种方法: a.原始dao开发方法(程序需要编写dao接口和dao实现类) b.mybatis的mapper接口(相 ...

  10. poj2676 (dfs+回溯)

    Sudoku Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 24108   Accepted: 11259   Specia ...