Java核心技术 读书笔记 第一天
8月1日学习目标:
第1章:Java程序设计概述
第2章:Java程序设计环境
第3章:Java基本程序设计结构
笔记:
- java与c++的主要不同点在于多重继承,Java使用接口概念取而代之。java提供更丰富的运行时自省功能。(具体内容第五章)
- Java特性之可移植性,比如,java中int永远为32位整数,保证了可移植性,而c/c++中数据类型大小不固定。
- Java特性之动态性,比如,较c/c++而言,java库中可以自由添加新方法和实例变量,对客户端无影响。
- java之其余特性。 简单性,多线程,健壮性,分布式,安全性,高性能,解释型,面向对象,体系结构中立。
- 一些语言规范:
- 类名定义规则,必须以字母开头,后可接字母与数字的任意组合。长度基本无限制,但是不可以使用Java保留字作为类名。
- 类名是以大写字母开头的名词,骆驼命名法 CamelCase。
- 源代码的文件名必须与公共类的类名相同,并用.java作为拓展名。如FirstSample.java
- 每个java程都必须有一个main方法,且一般用public修饰。
- 数据类型: 8种基本数据类型,int(4字节),short(2),long(8),byte(1),boolean(1),float(4),double(8),char(2)。
- 变量: 大小写敏感,一般用小驼峰命名法。Box aBox;声明一个变量后,必须用赋值语句对变量进行显示的初始化。与c++不同,不区分定义与声明。
- 常量: 用final修饰,关键词final表示这个变量只能被赋值一次,赋值以后不能再继续修改,一般习惯将常量命全部大写。
- 类常量:java中希望一个常量可以在一个类的多个方法中使用,则用static final修饰,称之为类常量。类常量的定义位于main方法外部,则在同一个类的其他方法都可以使用这个常量。而且,如果一个常量被声明为public,则其他类方法也能使用这个常量。
- 强制类型转换(cast):在必要的时候, int类型的值将会自动地转换为 double 类型。但另 一方面,有时也需要将 double转换成 int。 在 Java中, 允许进行这种数值之间的类型转换。例如:
1 double x=9.88; 2 int nx = (int)x;
使用Math.round()方法四舍五入,如:
1 double x = 9.88; 2 int nx = (int)Math.round(x);
- 逻辑与&&, 逻辑或 || 。
- equal 与 == 的区别:
- ==:比较的是两个字符串内存地址(堆内存)的数值是否相等,属于数值比较; equals():比较的是两个字符串的内容,属于内容比较。
- 可以参考详细文章https://www.cnblogs.com/smyhvae/p/3929585.html
- 输入输出, 因为输入可见,Scanner类不适用于从控制台读取密码。可用Console类实现。
- break与continue的区别: break语句,用于跳出多重嵌套的循环语句。 而continue 语句也将中断正常的控制流程,但是是将控制转移到最内层循环的首部。也就是说,continue越过了当前循环体的剩余部分, 立刻跳到循环首部。
- 命令行参数: 每一个 Java应用程序都有一个带 String arg[]参数的 main方法。这个参数表明 main方法将接收一个字符串数组, 也就是命令行参数 。
练习:
编写一个程序,模拟扔硬币的结果。
import java.util.*; public class Coin { public static void main(String[] args){ Scanner in = new Scanner(System.in); System.out.println("how many time you throw the coin"); int shumu = in.nextInt(); for(int i= 0 ; i <shumu; i++){ Random r1 = new Random(); int t1 = r1.nextInt(100); if(t1<=50){ System.out.println("zheng"); }else{ System.out.println("fan"); } } } }