小白之路-JAVA基础
数组
定义 : 多个相同类型的数据按一定顺序排列的集合。且它使用一个名字命名
本质:
创建数组,本质上就是,在内存中申请了一块连续的存储空间
相关概念
元素
数组名
角标、下标、索引
数组的长度
补充:
1. 数组是,引用数据类型,数组的元素则,既可以是引用数据类型,也可以是基本数据类型
2. 数组的角标,从开始,到数组长度-1结束
分类:
一维数组
格式:
声明 + 静态初始化 :
int[ ] ids = new int[ ]{ 1 、2 、 3、 4、 5 };
声明 + 动态初始化 :
String[ ] names = new String[5];
ps:5,指的是 数组长度/元素的个数
(数组元素)默认值:
整型: 0;
浮点型:0.0;
char型:空格;
boolean型:false;
String类型:null;
二维数组(矩阵)
格式:
静态声明:
int[ ][ ] arr = new int[ ][ ]{ {1、2、3}、{ 4、5}、{6} };
动态声明:
String[ ][ ] arr2 = new String [ 3] [ 2];
(表示,3行2列 )
多维数组
常用类
Scanner类
作用: 扫描输入的文本信息
具体实现步骤:
1. 导包:import java.util.Scanner;
2. 实例化: Scanner scan = new Scanner(System.in);
3. 调用: 利用对象,来调用需要使用的属性或方法
面向对象
定义: 将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位(考虑的是,谁来做)
引申: 面向过程,考虑怎么做
重要概念:
类
定义: 对一类事物的描述,是抽象的,概念上的定义
包括:
属性:
(成员变量、field、域、字段)
调用: “ 对象名.属性名 ”
方法:
(成员方法、method、函数、行为)
调用: “ 对象名.方法名()”
声明格式:
权限修饰符 返回值类型 方法名(形参列表){
方法体
}
(返回值类型,没有时填 void 对于有返回值类型的 需要使用 return 关键字 返回常量或者变量;
形参列表,可有可无,多个时,用“ , ”隔开)
(形参列表的)格式:数据类型1 形参名1,数据类型2 形参名2,......
对象
定义: 是实际存在的,该类事物的每个个体
权限修饰符:
private
缺省
protected
public
面向对象编程思想的(落地):
1. 创建类,设计类的成员
2. 创建类的对象
3. 调用 属性/方法
拓展:
属性(成员变量)VS 局部变量 的异同
相同:
1. 都是变量,声明格式相同(数据类型 变量名;)
2. 都需要先声明,再使用
3. 都有其对应的作用域
不同:
1. 位置不同
属性:直接定义在类的一对{ }内
局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量2.权限修饰符不同
属性: 可以使用权限修饰符
局部变量: 不能使用权限修饰符3. 默认值不同
属性:默认初始化值和数组一样
局部变量: 没有默认初始化值
流程控制
顺序结构
分支结构
if 语句(三大形态)
if 结构if(条件表达式){ 执行代码块1; }if else 结构
if(条件表达式){ 执行代码块1; } else{ 执行代码块2; }if else if 结构
if(条件表达式){ 执行语句块1; }else if(条件表达式){ 执行语句块2; }......{ }else{ 执行语句块n; }switch-case 结构
格式:switch(表达式){ case 常量 1 : 执行语句 1; break; case 常量 2: 执行语句 2; break; ...... default: 执行语句 n; }
注: switch结构中的表达式,只能是如下的6种数据类型之一:
(byte、short、int、char、枚举类型、String类型)
循环结构
for 循环
for(1 ;2 ;4){ 3 }
while 循环
1 while(2){ 3; 4; }
do-while 循环
1 do{ 3; 4; }while(2);
do-while循环至少会执行一次循环体
补充部分
1. 初始化部分
2. 循环条件部分
3. 循环体部分
4. 迭代部分
特例:
嵌套循环 : 将一个循环结构a,声明在另一个循环结构b的(循环体)中
数据类型
分类
基本数据类型
1. 数值型
整型(4)
byte
short
int
整型变量,默认
常量,默认是int类型
long
注:声明long型变量时,变量结尾要用“l”或“L"结尾
浮点型(2)
float
注: 声明float型变量时,变量结尾要用“f”或“F”结尾
double
浮点型,默认
2. 字符型(1)
char
初始化时,需要带上一对 ‘ ’
3.布尔型(1)
boolean
只能取2个值:true 或 false
引用数据类型
类(class)
接口(interface)
数组
数据间的运算
运算符
1. 算数运算符
+ 、 — 、* 、/ 、% 、++ 、--
前加加(++a):先自增1,然后再做运算
后加加(a++):先运算,然后再自增1
(自增1,不会改变数据类型)
2. 赋值运算符
= 、+= 、-= 、 *= 、 /= 、%=
3. 比较运算符
== 、!= 、> 、< 、>= 、<=
注: 比较运算的结果,都是boolean型
4. 逻辑运算符
&(逻辑与) 、| (逻辑或) 、!(逻辑非)
&&(短路与)、||(短路或)、^(逻辑异或)
1. 当符号左边的内容就可以判断出,整体的结果时,则(不再执行)右边的运算
2. ^:
当符号两边相同时,结果为false
不相同, true
注: 在实际的开发中,推荐使用 短路
5. 三元运算符
格式: (条件表达式)?表达式 1:表达式2
注:
1. 条件表达式的结果,必须为boolean型
2. true,则执行表达式1;
false,则执行表达式2.
3. 凡是可以运用三元运算符的地方,都可以用if-else结构替代
基本数据类型 之间的运算规则
1. 自动类型提升
定义:当容量(表数范围)小的数据类型的 变量 与容量大的变量做运算时,结果自动提升为容量大的数据类型
容量排序:byte < char、short < int < long < float < double
注:
1. byte、short、char 三种类型变量做运算时,结果均转为int类型
2. 布尔型不能做运算
2. 强制类型转换
定义: 当需要将 容量大 的数据类型变量转给 容量小 的数据类型变量时,需要进行强制类型转换
缺点: 可能会导致缺失精度
基本数据类型 与 String类型
运算: 8种基本数据类型与String类型,只能做(连接运算)
声明String类型变量,初始化时,后面要使用一对 “ ”
基础概念
关键字
定义: 被java语言赋予了特殊含义,用作专门用途的字符串
特点: 关键字中,所有字母均为小写
常用关键字:
break 关键字
作用: 结束循环
适用范围 : switch-case结构;循环结构
continue 关键字
作用 : 仅结束本次循环,跳过 本次循环体中,尚未执行的语句,进行下一轮循环
适用范围 : 循环结构
return 关键字
使用范围 : 在方法体中
作用:
1. “return 数据” :返回数据给函数(方法)的调用者
2. “ return ”:结束一个方法
(程序一旦执行到了 return 关键字,那么这个函数(方法)马上结束)
保留字
定义: 现有的java版本里,尚未使用,但在以后的版本中,可能作为关键字使用
标识(shi)符
巧记: 凡是可以自己随意起名字的地方,写下的都叫标识符
命名规则:
1. 只能由26个英文字母“大小写”或数字"0~9"或"_"或“$”组成
2. 数字不可以开头
3. 不可以使用关键字和保留字
4. 标识符不能加空格
5.提示:java严格区分大小写,长度无限制
命名规范:
包名: 所有字母都小写(xxyy)
驼峰命名法
(大驼峰命名法)
类、接口名: 所有单词的首字母大写(XxYy)
(小驼峰命名法)
变量、方法名:首单词第一个字母小写,其他单词首字母大写(xxYy)
常量: 所有字母都大写,单词间用“_"连接。(XX_YY)
补充: 尽量做到见名知意
变量
本质:声明变量,本质上就是在内存空间中申请一块存储区域
(声明变量的)格式:“变量类型 变量名”
注意事项:
1. 变量必须先声明,后使用(需要先申请空间)
2. 变量都定义在其定义域内
486

被折叠的 条评论
为什么被折叠?



