20145219 《Java程序设计》第02周学习总结
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.14f或float 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周学习总结的更多相关文章
- 2018-2019-3《Java程序设计》第二周学习总结
学号20175329 2018-2019-3<Java程序设计>第二周学习总结 教材学习内容总结 第二三章与我们所学习的C语言有很多的相似点,在这里我想主要就以我所学习的效果来讨 ...
- # 20175329 2018-2019-2 《Java程序设计》 第二周学习总结
学号 2018-2019-3<Java程序设计>第二周学习总结 教材学习内容总结 第二三章与我们所学习的C语言有很多的相似点,在这里我想主要就以我所学习的效果来讨论一下JAVA与 ...
- 20155302 2016-2017-2 《Java程序设计》第九周学习总结
20155302 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 基本数据库操作相关的JDBC接口或类是位于java.sql包中.在程序中要取得数据库联机,我 ...
- 20145302张薇 《Java程序设计》第二周学习总结
20145302张薇 <Java程序设计>第一周学习总结 教材学习内容总结 第三章 第三章讲的是基本类型,变量,运算符和基本条件语句. 基本类型分为: 整数:short(2 byte),i ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
随机推荐
- asp.net网站防恶意刷新的Cookies与Session解决方法
本文实例讲述了asp.net网站防恶意刷新的Cookies与Session解决方法,是WEB程序设计中非常实用的技巧.分享给大家供大家参考.具体实现方法如下: Session版实现方法: public ...
- App上传到应用宝的一些问题
问题:提示应用需要认领,怎么解决? 原因:如果app之前在其他市场上传过,再上传到应用宝,应用宝首先会从其他应用市场抓包,如果发现抓取的包和上传的app包名都是一致的,这时候提示你需要认领app. 操 ...
- TypeScript 接口(三)
TypeScript的核心原则之一是对值所具有的结构进行类型检查. 接口初始: interface objProperty { name: string } function printName(na ...
- Eclipse中JSP页面默认编码修改
jsp页面默认编码为ISO-8859-1 要修改为UTF-8,步骤如下 选择windon-->preference 在弹出框操作 以后新建jsp页面编码为UTF-8编码
- AtomicInteger保证线程安全的全局变量
现有业务场景需要做一个线程间的全局变量,并且实现自增效果. 初始使用了volatile 来保证count的安全性,如下: import java.util.concurrent.ExecutorSer ...
- Python 日志模块的定制
Python标准logging模块中主要分为四大块内容: Logger: 定义应用程序使用的接口 Handler: 将Loggers产生的日志输出到目的地 Filter: 对Loggers产生的日志进 ...
- 【BZOJ4590】[Shoi2015]自动刷题机 二分
[BZOJ4590][Shoi2015]自动刷题机 Description 曾经发明了信号增幅仪的发明家SHTSC又公开了他的新发明:自动刷题机--一种可以自动AC题目的神秘装置.自动刷题机刷题的方式 ...
- 因为td设置relative导致td的border问题
在ff下因为td设置relative导致td的border问题:其实是个老问题了~碰到了拿出来记录下 td 中添加如下样式 background-clip: padding-box
- Leetcode-Construct Binary Tree from inorder and postorder travesal
Given inorder and postorder traversal of a tree, construct the binary tree. Solution: /** * Definiti ...
- 一起做RGB-D SLAM调试
最近在学习高博的一起做RGB-D SLAM第一版本,其中调试出现了挺多问题,百度查找许多资料, 最后调通所有程序,记录以下运行环境. 高博一起做RGB-D SLAM系列主页: http://www.c ...