类(面向对象之前认为是Java文件)是Java语言的基本构成单位,类似于C语言的结构体
main方法(函数)是Java程序启动的入口,写法固定
数据类型分为基本数据类型,引用数据类型(string用系统中的类作为类型)
基本数据类型使用8个关键字声明,结构简单
数值型
整数
int x =0b11(0b开头是二进制 0x十六进制 0开头是8进制)
浮点(十进制计数法,科学计数法)Java中浮点数字面量默认为double
float(声明float需在字面后加f/F) 4字节 单精度 精确到8位有效数字
double 双精度 是float的两倍。8字节
字符 (' a ')
char (Java中char类型只能表示一个字符)大小是二字节可表示任意字符
ASCII 包含英文字母,其他符号
Unicode 可包含任何国加的语言符号 兼容ASCII码的一部分
布尔(逻辑值)
boolean类型 值只能是ture/false,
String是Java语言中的一个类,底层存储与C语言一致采用数组存储多个字符运算只能用+链接
基本数据类型转换
byte short int long 整数
float double 浮点(4个字节的float大于8个字节的long原因小数和整数在底层的二进制存储计算方式不同)
char 一个字符----底层编码表对应一个整数编号
boolean 逻辑值 ture false
转换
默认转换:小容量转换为大容量类型(自动进行转换)
强制转换 :大容量转换为小容量可能会出现1.溢出2.精度降低
运算符
算术匀运算符
+:1.加法运算2.链接(数值加字符串 字符串加字符串)3.正负号
-:1.减法2.负号
++:自增 e++ 先运算后自增 ++e 先自增后运算
--:自减
比较运算符
==,!= :用于数值与数值,
=>,> ,< ,<=
逻辑运算
& :逻辑与 遇到false 后会继续进行
&&:逻辑与(短路与) 遇到false 后不会继续进行
| :逻辑或 左右两边有一个是true 结果是true,遇到ture依旧会进行后续
||:逻辑或(短路或),遇到ture依旧不会进行后续
! :逻辑非
^:逻辑异或 相同为假,不同为真。
赋值运算符
=:赋值时注意左右两边的数据类型一致,不同时要遵循数据类型转换规则
注意“==”与“=”的不同。
+=:
条件运算符
(条件表达式)?表达式1:表达式2
控制台输入
位运算符
.日常开发运用较少,巧妙运用可减少运行开销,优化算法
位——二进制bit位 & | ^可进行逻辑运算(左右两边也是逻辑值)位运算(数值)
左移(<<)一位相当于乘2
右移(>>)一位相当于除二带符号的位移.
无符号右移 右移一位想当与除二;(> > > )不带符号位的右移,高位移动后,默认补零。
控制语句
根据不同条件执行不同语句
if()不加{}只能控制离它最近的一条语句
switch
[beak]可有可无 default :默认的代码块
凡是switch可以实现的语句if语句都可以实现反之不一定
实际开发中if与switch都可以实现的功能,建议使用switch
二者优势
循环语句
变量初始化
while(条件表达式){
循环体
迭代部分
}
do(){
}while();
for(表达式1;表达式2;表达式3){
}
break&continue
break:用于终止某语句块的执行
continue:用在循环体,终止某一句的执行
跳出多层循环
Java中的方法
方法是解决一类问题的步骤的总合,表示一种功能和行为,类似其他语言中的函数,将某个功能代码进行封装,可重复使用,减少代码冗余
方法定义
Java入口(固定格式) public static void main(String[] args){
}
public 访问权限
static 静态 直接使用类名词
void 表示此方法没有返回值
menu 方法名
return也可在没有返回值的方法中使用
数组
基本概念及作用
概念 一组相同数据类型元素的集合 是容器
本身是引用数据类型,也可存储引用数据类型
创建时需指定长度且长度不变,每个数据空间是连续的
声明
int[]a,b:数组a,b.
创建
int a= new int [5]; //new新建的数组且长度为5;
数组访问与迭代
访问
数组名[索引] eg: a[0],a[1];
注:从0开始;
是整数(int)数组长度最大值就是int最大值
数组最大索引 :长度减一
数组长度:
数组名.length