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

教材学习内容总结


第二章

(一)标识符

注意:html

  • 标识符由字母、下画线、美圆符号和数字组成,长度不受限制。
  • 标识符第一个字符不能是数学字符。
  • 标识符不能是关键字。
  • 标识符不能是true、false和null。
  • 标识符中的字母区分大小写。

(二)基本数据类型(重点)

- [四大类型]

逻辑类型:boolean(与C语言不一样)
整数类型:byte、short、int、long
字符类型:char
浮点类型:float、doublejava

- [相关内容解析]

数据类型关键字 常量 变量 字节内存 数据范围
boolean true、false 使用boolean来声明
int 123,6000,077,0x3ABC 使用int来声明 4 -2^31~(2^31-1)
byte 必定范围内的int型常量 用byte来声明 1 -128~127
short 必定范围内的int型常量 使用short来声明 2 -2^15~2^15-1
long 用后缀L来表示,108L,07123L 使用long来声明 8 -2^63~2^63-1
char 用单引号括起来的Unicode表中的字符,'A','b' 使用char来声明 2(无符号位,且无负数char) 0~65535
数据类型 常量 变量 数据所分配字节 数据精度
float 用后缀f或F,不能省略,453.5439f,21379.987F 用float来声明 4 8位有效数字
double 能够有后缀d或D,但能够省略,2389.539d,2318908.987 用double来声明 8 16位有效数字

(三)数组

1.声明数组

一维数组:float boy [ ];
二维数组:char cat [ ][ ];git

2.为数组分配元素

数组名=new 数组元素的类型[数组元素的个数]
boy = new float[4];
或 float boy[] = new float [4];
二维数组:
int mytwo[][];
mytwo = new int [3][4];
或 int mytwo [][] = new int [3][4];算法

3.数组元素的使用

索引从0开始:编程

4.length的使用

一维数组:“数组名.length"的值是数组中元素的个数
二维数组:“数组名.length”的值是它含有的一维数组的个数。
例如:float a[ ] = new float [12];
int b[][] = new int [3][6];
则a.length为12,b.length为3;数组

5.数组的初始化

float boy[] = {21.3f,23.89f,2.0f,2.3f,778.98f};
int a[][] = {{1},{1,1},{1,2,1},{1,3,3,1},{1,4,6,4,1}};学习

6.数组的引用(元素的首地址)

两个相同类型的数组若是有相同的引用,他们就会有彻底相同的元素。设计

public class Example2_4 {
    public static void main(String args[ ]) {
        int a[] = {1,2,3,4};
        int b[] = {100,200,300};
        System.out.println("数组a的元素个数="+a.length);
        System.out.println("数组b的元素个数="+b.length);
        System.out.println("数组a的引用="+a);
        System.out.println("数组b的引用="+b);
        a=b;
        System.out.println("数组a的元素个数="+a.length);
        System.out.println("数组b的元素个数="+b.length);
        System.out.println("a[0]="+a[0]+",a[1]="+a[1]+",a[2]="+a[2]);
        System.out.print("b[0]="+b[0]+",b[1]="+b[1]+",b[2]="+b[2]);
    }
}

### (三)运算符与表达式

运算符 结合方向 注意
+ - 从左到右 优先级弱于乘除
* / % 从左到右 优先级强于加减
++x(--x) 先使x的值加1,再使用x的值 x++(x--) 先使用x的值,再使x的值加1
  • 算术混合运算的精度
    排序:byte short char int long fioat double

用法规则:
1.表达式中++有++double型数据++,就按double计算
2.表达式++最高精度是float型数据++,就按float型计算
3.表达式中++最高精度是long型整数++,就按long型计算
4.表达式中++最高精度低于int型整数++,就按int型计算调试

易错点:容许把不超过byte、short、char的取值范围的算术表达式的值赋给byte、short、char型变量

- 关系运算符

运算符 备注
> < >= <= 优先级强于==和!=
== != 优先级弱于以上

- 逻辑运算符 和 位运算符

逻辑运算符 备注
&& || ! 链接表达式时,表达式的结果必须为true或false
位运算符 备注
& | ~ ^ 注意逆运算仍然是^
易错点:注意逻辑运算符的短路性。

- 语句方面

  • Swith语句中“表达式”的值能够为byte、short、int、char型
  • case常量也是byte、short、int、char型,并且要互不相同code

  • 循环语句:注意与break和continue的结合性
  • for语句与数组:
    形式:for(声明循环变量:数组名字) {
    p
    }
    注意:“声明环境变量”必须是变量声明,不能够是使用已经声明过的变量。

    - 关于类的调用方法:

    由于尚未具体接触,谈一些本身的理解:
    调用next类的话,是为了读取用户输入的值。
    调用hasNext类的话,是为了判断值是否超出范围。

教材学习中的问题和解决过程
在学习应用举例时,对于比较排序法和折半查找法有所忘记,我细查了一下。
折半查找法
比较排序法
在课下,我还想把具体C语言中学到的查找方法和排序方法总结一下。

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

Q1:出现了

A:运行时,应为java <主类名> ,且主类名不要加后缀。随后便出现告终果

Q2:出现了

A:import java.util.*中util错拼成了until.并且两次出现了这样的问题,之后应引发重视。解决后,运行出正确结果:

代码托管

脚本运行截图

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

本周学习是Java的语法学习,虽然有了必定的C语言基础,可是我仍是没有掉以轻心,仔细回忆Java语法与C语言语法的相同点和不一样点,并找出了本身C语言的一些漏洞。
能够说本周收获颇丰,不只巩固了C语言的基础,并且还了解了Java语法,在本身尝试编程时,本身动脑来设计算法,有时,本身也会尝试将原来C语言的练习题用Java语言进行编程,本身仿佛找到了开启另外一扇大门的钥匙,但愿本身继续努力吧。

参考资料

折半查找法
比较排序法

相关文章
相关标签/搜索