20165228 2017-2018-2 《Java程序设计》第2周学习总结

教材学习内容总结

  • 标识符:名字

    组成:字母/下划线/美元符号或数字

    注意:标识符的第一个字符不能是数字字符,且标识符不能是Java关键字以及ture、false和null
  • Unicode字符集
  • 关键字:有特殊用途,例如int、double、float、class

    基本数据类型:
  • 逻辑类型:boolean(只有true或者false)
  • 整数类型:byte、short、int、long

    其区别:取值范围不同,占有内存空间不同。

    byte -128~+127 1字节

    short

    int

    long 8字节
  • 字符类型:char

    赋值:char c = ‘ XX ’ ; XX需要时unidode字符集里的字符

    转化:(int)‘c’ 指的是将字符c转化为int类型表示

    转义:“\u+地址(16进制)”表示位置上的字符

    浮点类型:float(8位有效)、double(16位有效)

    赋值:float m =12.123456f;

    double n =12.12345678901234;

    注意:精度从低到高的排序是:byte、short、char、int、long、float、double

    低精度赋值给高精度时需要转化,高精度赋值给低精度时则不用,但会损失精度

    具体程序中的java:
System.out.println("汉字:"+chinaWord+"的位置:"+(int)chinaWord);

“+”表示首尾相接,输出的结果为“汉字:X的位置:xxxx”

  • 输入

    步骤(1)创建一个Scanner对象
Scanner reader = new Scanner(System.in);

步骤(2)Scanner对象调用方法读取用户键盘输入的数据(等待用户键盘输入)

int m =reader.nextInt();

红标的字类型应一致

  • 输出
System.out.println();
System.out.printf("格式",值列表)

-数组:一些类型相同的变量组成的集合

声明数组:

类型  []  数组名;

类型  数组名[]

例:int [] a

创建数组:

数组名 = new 类型[整值];
a = new int [5]

计算一维数组长度(对二维数组使用该命令时显示的是一维数组的个数):

数字名.length

-数组的初始化

一维数组的初始化:

int [] 数组名 ={a,b,c,...};

二维数组的初始化:

int [] [] 数组名 ={ {...}, {...}, {...}, {...}};

在数组生成的同时就已初始化

-数组的引用

即数组本身存放的值

两个类型相同的数组,一旦二者具有相同的引用,那么二者就具有一样的单元

  • 运算符与表达式

    如果表达式中有双精度浮点数(double型数据),则按双精度进行运算

    如果表达式中最高精度是单精度浮点数(float型数据),则按单精度进行运算

    如果表达式中最高精度是long型整数,则按long精度进行运算

    如果表达式中最高精度低于int型整数,则按int精度进行运算

    Java允许把不超过byte,short和char的取值范围的算术表达式的值赋给byte,short和char型变量

    通过变量给另一变量赋值时例如x = m + 'a';应写成
x = (byte)(m + 'a');

instanceof运算符: 类+对象

对象+instanceof+类

检验对象是不是该类,若是则输出ture,若不是则输出false

-语句概述

方法调用语句:例如System.out.println("Hello");

表达式语句:由一个表达式构成一个语句,即表达式尾加上分号

复合语句:可以用{ }把一些语句复合起来构成复合语句

空语句:一个分号则是一跳空语句

控制语句:控制语句分为条件分支语句、开关语句和循环语句

package语句和inport语句:与类、对象有关

  • 条件分支语句
if(条件表达式) {
//if操作
}
if(条件表达式) {
//if操作
}
else {
//if操作
}
if(条件表达式) {
//if操作
}
else if(条件表达式){
//else if操作
}
  • switch开关语句(单条件多分支)
switch(表达式){
case 常量值1:
若干个语句
break;
case 常量值2:
若干个语句
break;
case 常量值n:
若干个语句
break;
default:若干语句
  • 循环语句
while (表达式) {
//循环体
}
  • break和continue语句

    break和continue使用在循环体中。

    break:运行到break时立刻结束整个循环语句

    循环体运行到满足表达式为止

    continue:运行到continue直接跳出本次循环,进入到下一一次循环中
  • 数组与for语句

    传统方式:
for(int n=0;n<a.length;n++) {
System.out.print(a[n]+ " ");
}
System.out.println();
for(int i:a) {
System.out.print(i+" ");
}
for(声明循环变量:数组的名字) {
...
}

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

  • 问题1:高精度变量赋值给低精度变量为什么可能会损失精度?
  • 问题1解决方案:高精度变量能够赋值的数更多,当其值将大于低精度最大可存储数值时,低精度变量储存的值其实是循环值
  • 问题2:为什么1.5f与1.5不相等?
  • 问题2解决方案:1.5是double型数据,而1.5f是float型数据,1.5与1.5f仅前面float型数据的位数相等,后面的double型比float型数据高的精度就不等了

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

  • 问题1:在编译某个程序时,提示“错误:需要class,interface或enum”
  • 问题1解决方案:检查程序时发现把"{"输成了中文符号"{"导致调试失败

代码托管



本周我调整了代码的文件夹,根据不同单元和另外找的代码分到不同文件夹里,所以本周的代码数应为统计的代码数459减去上周的235,本周实际敲的代码总行数为224.

(statistics.sh脚本的运行结果截图)

上周考试错题总结

  • 错题及原因,理解情况

    错题:带包的代码编译运行测试

    原因:敲代码的时候出错,然后一直编译失败。当时没有检查出原因

    理解情况:已经掌握带包的代码编译及运行

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 25篇 400小时
第一周 235/235 1/1 15/15
第二周 224/459 2/3 15/30

20165228 2017-2018-2 《Java程序设计》第2周学习总结的更多相关文章

  1. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

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

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

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

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

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

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

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

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

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

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

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

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

  8. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  9. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

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

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

随机推荐

  1. [contest 781] 9.6

    [contest 781] 9.6 - XJOI czx的温暖题... T1 军训

  2. [CodeForces - 614A] A - Link/Cut Tree

    A - Link/Cut Tree Programmer Rostislav got seriously interested in the Link/Cut Tree data structure, ...

  3. 设计模式之单例模式-C++

    单例模式也称单子模式.单件模式,通过单例模式可以保证系统中只有一个类只有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享 对于系统中的某些类来说,只有一个实例很重要,比如一个打印机可以 ...

  4. Oracle物理DG自动切换——Dataguard Broker配置

    1.前言部分 1.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能: ① Data Guard Broker 的配置 ② Fast-Start Failover 的配置 ③ Oracle D ...

  5. Oracle使用expdp/impdp导出导入数据

    这里假设已存在数据库用户,并是计划通过该用户导入导出该用户表空间上的数据.(我们这里假定用户名称为ls) 1.创建逻辑目录(数据库命令,sqlplus中执行) Oracle不能直接指定系统目录让他去读 ...

  6. 包--json 与 pickle 模块

    一. 包 一个含有__init__.py 文件的文件夹(将py 文件中的内容划分成不同的部分放在不同的py 文件中,在将这些py 文件放在一个文件夹中) 是模块,不做执行文件,仅做调用 m1.py 和 ...

  7. Windows Server 2016与旧版本系统比较

    一.性能和可扩性 特征描述 Windows Server 2012/2012 R2 标准版和数据中心 Windows Server 2016 标准版和数据中心 物理内存(主机)支持 每个物理服务器至多 ...

  8. xshell提示必须安装最新的更新

    今天大家的xshell基本都出了这个问题 调整时间,调整到比较前的时间,打开xshell即可. 然后工具->选项 把更新去了

  9. java 实现简单链式队列

    package com.my; /** * 链式队列 * @author wanjn * */ public class LinkedQueue { private Node head; privat ...

  10. base64加密解密c++代码

    关于base64加密解密代码: 程序运行功能请自行查看main函数: #include <stdio.h> #include <string.h> #include <a ...