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. MySQL---视图、触发器

    一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. SELECT * FROM ( S ...

  2. java的值传递机制

    一.练习:编写Java程序,将二维数组中的行列互调显示出来. 代码1为自己编写: package com.xxgpra.CH6; public class Hangliehudiao_pra4 { p ...

  3. 四、分离分层的 platform驱动

    学习目标: 学习实现platform机制的分层分离,并基于platform机制,编写led设备和驱动程序: 一.分离分层 输入子系统.usb设备比驱动以及platform类型的驱动等都体现出分离分层机 ...

  4. 7、Linux应用程序地址布局

    程序构成 在学习Linux应用程序开发时,经常会遇到如下概念: 代码段.数据段.BSS段(Block Started by Symbol,又名:未始化数据段) .堆(heap)和栈(stack).始化 ...

  5. 『Python基础-13』函数 Function

    这篇笔记记录的知识点: 函数的基本概念 自定义函数 函数的几种参数 编程的三种方式: 1.OOP 面向对象编程,万物皆对象,以class为主,抽象化 2.POP 面向过程编程,万事皆过程,def定义过 ...

  6. python remove跟pop的区别

    remove根据值来删除 li=[1,2,3,4] li.pop[0] li.remove['] 或者是a=li[-1]li.remove(a) pop是根据索引来删除

  7. rails应用无法读取kafka数据报错Kafka::Error: Failed to find group coordinator

    如果确保kafka中有数据,rails应用中却无法读取到,或报如下错误: Kafka::Error: Failed to find group coordinator   一般有两种情况,解决:   ...

  8. PHP array_reduce()函数的应用解析

    实例 向用户自定义函数发送数组中的值,并返回一个字符串: <?php function myfunction($v1,$v2) { return $v1 . "-" . $v ...

  9. linux 下的torrent下载器qBitTorrent

    BT下载利器--Qbittorrent完全攻 Ubuntu使用命令安装qBittorrent的方法 源码下载

  10. Asp.net core静态文件目录访问

    Asp.net core静态文件目录访问 如果使用Asp.net core来实现一个能够访问其它电脑上的资源 新建工程 选择项目框架 如何将静态文件注入到项目中 在startup.cs文件的Confi ...