ps:未完待续
1.Java开发环境
-
编译运行过程:
-
编译期:.java源文件,经过编译,生成.class字节码文件
-
运行期:JVM加载.class并运行.class
-
特点:跨平台,一次编译到处使用名词
- JVM:java虚拟机 JVM加载.class并运行.class
- JRE:java运行环境 JRE = JVM+java系统类库(小零件)
- JDK:java开发工具包 JDK = JRE+编译、运行等命令工具
-
2.Idea
- JetBrains,分为社区版和终级版
- 开发步骤:
- 新建Java项目/工程
- 新建Java包
- 新建Java类
- 注释:解释性文本
- 单行注释://
- 多行注释:/* */
- 文档注释:/** */
3.变量
可以理解为存数的
- 声明:----相当于开户
- 初始化:----相当于给帐户存钱
- 使用:-----使用的是帐户里面的钱
- 对变量的使用就是对它所存的那个数的使用
- 变量的用之前必须声明并初始化
- 命名:-----相当于给帐户起名
- 只能包含字母、数字、_和$符,不能以数字开头
- 严格区分大小写
- 不能使用关键字
- 允许中文命名,但不建议,建议"英文的见名知意"、"小驼峰命名法"
4.八种基本数据类型
byte、short、int、long、float、double、boolean、char
-
int:整型,4个字节,-21个多亿到21个多亿
- 整数直接量默认为int类型,但不能超出范围,若超范围则发生编译错误
- 两个整数相除,结果还是整数,小数位无条件舍弃(不会四舍五入)
- 运算时若超出范围,则发生溢出,溢出不是错误,但是需要避免
-
long:长整型,8个字节,-900万万亿多到900万万亿多
- 若想表示长整型直接量,需在数字后加L或l
- 运算时若有可能溢出,建议在第1个数字后加L
-
double:浮点型,8个字节,很大很大很大
- 小数直接量默认为double型,若想表示float,需在数字后加F或f
- 不能表示精确数据,运算时有可能会发生舍入误差,精确场合不能使用
-
boolean:布尔型,1个字节
- 只能存储true或false
-
char:字符型,2个字节
-
采用的是Unicode编码格式,一个字符对应一个码
表现的形式是字符char,但本质上是码int(0到65535之间)
(ASCII:'a'----97 'A'----65 '0'----48)
-
字符型直接量必须放在单引号中,有且仅有1个
-
特殊符号需要通过\来转义
-
5.类型间的转换
-
基本数据类型从小到大依次为:
-
byte----short----int----long----float----double
char----
-
-
两种方式:
- 自动/隐式类型转换:小类型到大类型
- 强制类型转换:大类型到小类型
- 语法:(要转换成为的数据类型)变量
- 注意:强转有可能会溢出或丢失精度
-
两点规则:
-
整数直接量可以直接赋值给byte,short,char,但不能超出范围
-
byte,short,char型数据参与运算时,系统会将其自动转换为int类型再运算
-
6.命名法
-
小驼峰命名法:第1个单词首字母小写,其余单词首字母大写------------变量/方法
score,myScore,myJavaScore
-
帕斯卡命名法/大驼峰命名法:所有单词首字母大写--------------------------类
Score,MyScore,MyJavaScore
7.Unicode
可以叫万国码、统一码、通用码,是世界级通用的定长(16位)字符集
8.运算符
- 算术:+,-,*,/,%,++,--
- 关系:>、<、>=、<=、==、!=
- 逻辑:&&、||、!
- 赋值:=、+=、-=、*=、/=、%=
- 字符串连接:+
- 条件:boolean?数1:数2
9.分支机构
9.1:if-else
- if结构:1条路
- if...else结构:2条路
- if...else if结构:多条路
9.2:switch...case
-
switch...case结构:多条路
-
优点:效率高、结构清晰
-
缺点:只能对整数判断相等
-
break:跳出switch
-
switch中数据的类型:byte,short,int,char,String,枚举
10.循环
-
循环三要素:------------------------非常重要
-
循环变量的初始化
-
循环的条件(以循环变量为基础)
-
循环变量的改变,循环变量:在整个循环过程中所反复改变的那个数
-
-
循环结构:
-
while结构:先判断后执行,有可能一次都不执行
-
do...while结构:先执行后判断,至少执行一次
当第1要素的代码与第3要素的代码相同时,首选do...while
-
for结构:应用率最高,适合与次数相关的
-
-
三种循环结构如何选择:
- 先看循环是否与次数有关:
- 若有关--------------------------------------直接上for
- 若无关,再看第1要素与第3要素的代码是否相同:
- 若相同--------------------------------直接上do...while
- 若不同--------------------------------直接上while
- 先看循环是否与次数有关:
ps:循环和分支机构在后面的Java学习中会经常使用,非常重要,这里为了节约篇幅并没有过多介绍,跟着视频敲两行代码会比看笔记记得牢
补充:
-
任何复杂的程序逻辑都可以通过三种结构来实现:
- 顺序结构:从上往下逐行执行,每句必走
- 分支结构:有条件的执行某语句一次,并非每句必走
- 循环结构:有条件的执行某语句多次,并非每句必走
-
生成随机数:1到1000之内的
Math.random()-------------0.0到0.999999999999... *1000---------------------0.0到999.9999999999... +1------------------------1.0到1000.999999999... (int)---------------------1到1000
-
变量的作用域/范围:
- 从变量的声明开始,到包含它最近的大括号结束
-
变量的重名问题:
- 在编程中,变量重名通常指的是在不同的作用域中使用相同的变量名。作用域重叠可能导致混淆,因为内层作用域的变量会遮蔽外层作用域的变量。