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. reactjs中props和state最佳实践

    http://blog.csdn.net/dangnian/article/details/50998981

  2. php 对字符串的分块处理

    //如何把以下的字符串分成每一个小块, 如:2017.2.14\n我们都是中国人\n小日本 这样的为一个小块 $str = '2017.2.14 我们都是中国人 小日本 2017.2.15 订单取消 ...

  3. 《基础知识》hashCode与equals的区别与联系

    一.equals方法的作用 1.默认情况(没有覆盖equals方法)下equals方法都是调用Object类的equals方法,而Object的equals方法主要用于判断对象的内存地址引用是不是同一 ...

  4. android应用安全——数据安全

    数据安全包含数据库数据安全.SD卡数据(外部存储)安全.RAM数据(内部存储)安全. android中操作数据库可使用SQLiteOpenHelper或ContentProvider的方式.使用SQL ...

  5. mac上的webStorm上配置gitHub

    一,webStorm下,首先打开Preferences; 二,在Version Control目录下,选择GitHub,填写有边的内容; 注意:填写完Login和Password的以后,点击Test一 ...

  6. JZOJ.5264【NOIP2017模拟8.12】化学

    Description

  7. 【BZOJ4388】JOI2012 invitation 堆+线段树+并查集(模拟Prim)

    [BZOJ4388]JOI2012 invitation Description 澳洲猴举办了一场宴会,他想要邀请A个男生和B个女生参加,这A个男生从1到A编号,女生也从1到B编号.现在澳洲猴知道n组 ...

  8. ClickHouse开源数据库

    ClickHouse是一个开源的面向列式数据的数据库管理系统,能够使用SQL查询并且生成实时数据报告. 优点: 1.并行处理单个查询(利用多核) 2.在多个服务器上分布式处理 3.非常快的扫描,可用于 ...

  9. NW.js 入坑指南

    NW.js是什么? NW.js 是基于 Chromium 和 Node.js 运行的, 以前也叫nodeWebkit.这就给了你使用HTML和JavaScript来制作桌面应用的可能.在应用里你可以直 ...

  10. 第5章 IDA Pro实验题

    Question: 1.DLLMain的地址是什么? 2.使用import窗口并浏览到gethostbyname,导入函数定位到什么位置 3.有多少函数调用了gethostbyname? 4.将精力放 ...