20145219 《Java程序设计》第02周学习总结

教材学习内容总结

  • 类型:基本类型、类类型(参考类型)

  • 基本类型:

    整数:short占2字节,int占4字节,long占8字节

    字节:byte占1字节,表示-128~127的整数

    浮点数:存储小数数值,float占4字节,double占8字节,字节多的精确度大

    字符:char用来存储'A'、'b'、'林'等字符符号,占2字节

    布尔:boolean只有两个值true和false,无法与其他类型做运算

  • 通过API得知各种类型可存储数值的范围

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

    }

  • 注释:单行注释(“//”之后的文字)、多行注释(“/”与“/”之间的文字)

  • 使用System.out.println(),在标准输出中显示文字后换行。而使用System.out.print()则输出文字后不换行

  • %d%h%b等是格式控制符

  • 变量:将不确定的数据进行存储

    格式:数据类型 变量名=初始化值。变量名不可以使用数字开头及特殊字符,也不可以与关键字同名,通常为xxxYyyZzz形式(驼峰式)

  • 进制:十六进制以0x开头,八进制以0开头,二进制以0b开头,十进制直接书写

  • 转义符:“\”改变其后面第一个字符的含义。\n换行,\b退格,\r按下回车键,\t制表符等。

  • 运算符:

    算数运算符:+、-、*、/、%

    比较、条件运算符:>、>=、<、<=、==、!=,结果为true或false。

      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);
    }
    }

**三元条件运算符:**`条件式?ture返回值:false返回值`

**逻辑运算符:**&&、||、!。对&&来说,当左侧为false时直接返回false;对||来说,当左侧为true直接返回true

**位运算符:**&、|、!、~、>>、<<、>>>逐位运算

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

`<<`向左移动,右边补0,相当于乘2的幂次,`>>`向右移动,左边补和原来最左边相同的数,`>>>`向右移动,左边补0,相当于除2的幂次

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

**自增、自减:**++、--

**指定运算符:**a+=b即a=a+b,以此类推。
  • 类型转换:Java中默认整型为int,小数位double

    强制转换:float PI=3.14ffloat PI=(float)3.14

    自动转换:运算时以长度最长的类型为主,其它数值自动提升

  • if...else

      (1)	if(条件式){
    描述句;
    }
    else {
    描述句;
    }
    (2) if(条件式1){
    描述句;
    }
    else if(条件式2) {
    描述句;
    }
    else {
    描述句;
    }

    判断数字奇偶性

      public class Odd {
    public static void main(String[] args){
    int input = 10;
    int remain = input % 2;
    if(remain == 1){//余数为1就是奇数
    System.out.printf("%d 为奇数%n", input);
    }
    else{
    System.out.printf("%d 为偶数%n", input);
    }
    }
    }

处理学生成绩等级

	public class Level {
public static void main(String[] args){
int score=88;
char level;
if(score>=90){
level='A';
}
else if(score>=80&&score<90){
level='B';
}
else if(score>=70&&score<80){
level='C';
}
else if(score>=60&&score<70){
level='D';
}
else{
level='E';
}
System.out.printf("得分等级:%c%n", level);
}
}

  • switch

      switch(变量或表达式){
    case 取值1:
    描述句;
    break;
    case 取值2:
    描述句;
    break;
    ...
    default:
    描述句;
    }

    处理学生成绩等级

      public class Level2 {
    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(初始化表达式;循环条件表达式;循环后操作表达式){
    描述句;
    }

    显示从1到10

      public class OneToTen {
    public static void main(String[] args){
    for(int i=1;i<=10;i++){
    System.out.println(i);
    }
    }
    }

显示九九乘法表

	public class NineNineTable {
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

      (1)	while(条件式){
    描述句;
    }
    (2) do{
    描述句;
    }while(条件式)

    书上示例,看谁最久不撞到5

      public class RandomStop {
    public static void main(String[] args){
    //直接执行循环
    while(true){
    int number=(int)(Math.random()*10);//产生0~9的随机数
    System.out.println(number);
    if(number==5){
    System.out.println("I hit 5...Orz");
    break;//遇到5就离开循环
    }
    }
    }
    }

用do...while改写

	public class RandomStop2 {
public static void main(String[] args){
int number;
do{
number=(int)(Math.random()*10);//产生0~9的随机数
System.out.println(number);
}while(number!=5);
System.out.println("I hit 5...Orz");
}
}

  • break离开当前区块,并执行区块后下一描述句。continue略过之后描述句,并回到区块开头进行下一次循环。

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

问题:使用System.out.printf()System.out.print()System.out.println()有什么区别?

解决:printf是按照格式输出,print是单纯的输出,println是在输出后换行。

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

问题:使用IDE运行第一个程序时没有问题,运行第二个程序的时候控制台仍旧显示的是第一个程序的结果,怎么换到第二个上面?

解决:由于在新建第二个程序时还在第一个程序的页面,工作空间中只是位置还在第一个程序的src中,忘记调过来了,鼠标点在第二个程序的位置就好了。

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

Java中的语法规则与C语言大同小异,基本没有太大出入,回顾、复习C语言的知识有助于我们更好地掌握Java。刚使用IDE编程时对新建、运行的方法比较生疏,但是多用几次就好了,熟能生巧。编写Java程序也是这样,多看多写才能掌握的更好。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 150/150 2/2 15/15 学会搭建Java环境,学会写Hello World小程序
第二周 500/500 3/3 35/35 掌握IDE的使用方法,学会Java的基本语法规则

参考资料

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

  1. 2018-2019-3《Java程序设计》第二周学习总结

    学号20175329 2018-2019-3<Java程序设计>第二周学习总结 教材学习内容总结      第二三章与我们所学习的C语言有很多的相似点,在这里我想主要就以我所学习的效果来讨 ...

  2. # 20175329 2018-2019-2 《Java程序设计》 第二周学习总结

    学号 2018-2019-3<Java程序设计>第二周学习总结 教材学习内容总结      第二三章与我们所学习的C语言有很多的相似点,在这里我想主要就以我所学习的效果来讨论一下JAVA与 ...

  3. 20155302 2016-2017-2 《Java程序设计》第九周学习总结

    20155302 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 基本数据库操作相关的JDBC接口或类是位于java.sql包中.在程序中要取得数据库联机,我 ...

  4. 20145302张薇 《Java程序设计》第二周学习总结

    20145302张薇 <Java程序设计>第一周学习总结 教材学习内容总结 第三章 第三章讲的是基本类型,变量,运算符和基本条件语句. 基本类型分为: 整数:short(2 byte),i ...

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. uva414 - Machined Surfaces

    uva414 - Machined Surfaces /* 水题,值得一提的是,getline使用时注意不能让它多吃回车键,处理方法可以用getchar. */ #include <iostre ...

  2. Machine Learning Yearning - Andrew NG

    链接(1~12章): https://gallery.mailchimp.com/dc3a7ef4d750c0abfc19202a3/files/Machine_Learning_Yearning_V ...

  3. 自己搭建v,p,n过程

    安装dockeryum install -y docker把docker设置为服务systemctl enable docker.service启动dockersystemctl start dock ...

  4. zoj3497(经典矩阵乘法)

    原以为是用搜索做的题,想了好久都无法想到一个高效正确的解法. 后面发现竟然这就是矩阵的应用! 碉堡! 给定一个有向图,问从A点恰好走k步(允许重复经过边)到达B点的方案数mod p的值  ——选自ma ...

  5. hdu 4576(简单概率dp | 矩阵优化)

    艰难的一道题,体现出菜菜的我... 首先,先吐槽下. 这题到底出题人是怎么想的,用普通概率dp水过??? 那为什么我概率dp写的稍微烂点就一直tle?  感觉很不公平.大家算法都一致,因为我程序没有那 ...

  6. [UVa OJ] Longest Common Subsequence

    This is the classic LCS problem. Since it only requires you to print the maximum length, the code ca ...

  7. APP测试瞎话

    APP测试        一.功能性        1.APP的安装.卸载        2.APP中业务功能            二.性能测试        1.高.中.低端机上运行效果      ...

  8. pycharm中选择python interpreter

    pycharm中选择python interpreter pycharm中有两处地方需要选择python解释器: 一处是调试配置(edit configurations)处,这里选择python解释器 ...

  9. 流畅的python 闭包

    闭包 人们有时会把闭包和匿名函数弄混.这是有历史原因的:在函数内部定义函数不常见,直到开始使用匿名函数才会这样做.而且,只有涉及嵌套函数时才有闭包问题.因此,很多人是同时知道这两个概念的.其实,闭包指 ...

  10. Django页面重定向

    重定向分为永久性重定向和暂时性重定向,在页面上体现的操作就是浏览器会从一个页面自动跳转到另外一个页面.比如用户访问了一个需要权限的页面,但是该用户当前并没有登录,因此我们应该给他重定向到登录页面. 永 ...