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. noip2017奶酪

    题目描述 现有一块大奶酪,它的高度为 h,它的长度和宽度我们可以认为是无限大的,奶酪 中间有许多 半径相同 的球形空洞.我们可以在这块奶酪中建立空间坐标系,在坐标系中, 奶酪的下表面为z=0,奶酪的上 ...

  2. 2015-09-21 css学习1

    3.设置背景图片 Background-image:url(相对路径) ----123.jpg 图片拉伸铺满: background-size:cover 铺满方向: background-repea ...

  3. 数组Array.sort()排序的方法

    数组sort排序 sort比较次数,sort用法,sort常用 描述 方法sort()将在原数组上对数组元素进行排序,即排序时不创建新的数组副本.如果调用方法sort()时没有使用参数,将按字母顺序( ...

  4. Win10系列:VC++绘制位图图片

    在使用Direct2D绘制图片的过程中,通过IWICImagingFactory工厂接口来得到绘制图片所需要的资源.本小节将介绍如何通过IWICImagingFactory工厂接口得到这些资源,并使用 ...

  5. Vue + Element UI 实现权限管理系统(优化登录流程)

    完善登录流程 1. 丰富登录界面 1.1 从 Element 指南中选择组件模板丰富登录界面,放置一个登录界面表单,包含账号密码输入框和登录重置按钮. <template> <el- ...

  6. tomcat vue webpack vue-router 404

    社区已经有结局方案了, http://blog.csdn.net/hayre/article/details/70145513

  7. In-App Purchase iap 内付费 二次验证代码 (java 服务器端)

    参考网址:https://blog.csdn.net/a351945755/article/details/22919533 package com.yichangmao.buyVerify.Comm ...

  8. 微信授权(Net Mvc)

    项目结构 WeiXinController.cs using System; using System.Collections.Generic; using System.Linq; using Sy ...

  9. 基于WMI的信息查询和编辑,按微软的说明一般都是

    晕!这个不是很简单的东西吗? //---------WMI---------- type Rec_Wmi = record ComputerName: string; Namespace: strin ...

  10. java 实现简单循环队列

    package www.queue; import java.util.Arrays; /** * 循环队列: * 循环队列的出现是为了解决顺序队列出队列后,首指针向后移动后前面的存储过程浪费不能使用 ...