javaSE 总结之基础

基础语法

语言特点

  1. 创始人 詹姆斯 高斯林
  2. 原先是SUN公司后被Oracle公司收购
  3. 1995 诞生 1996 第一版 从5.0版本开始每半年一更新
  4. 高版本的JDK向下兼容 版本之间不通融
  5. 免费 开源 强数据类型 面向对象思想 跨平台性
  6. JVM : Java虚拟机
  7. JRE : Java运行环境
  8. JDK : Java开发工具包

规范

注释

  1. 单行注释
  2. 多行注释
  3. 文本注释
  4. 写代码必须写注释 先写注释后写代码

关键字

单词全部小写
颜色 : 紫色 蓝色
关键字不能取名
在这里插入图片描述

标识符

  1. 用来取名字的
  2. 有且仅有英文大小写和数字
  3. 数字不能开头
  4. 见名知意

字面值常量

  1. 整数 小数 字符 字符串
  2. 布尔值 空常量
    作用 : 可以直接输出
    给变量进行赋值
    空常量不能直接输出 因为空常量是给对象赋值用的

命名规范

类的命名规范
单个单词 : 首字母大写
多个单词 : 每个单词首字母大写

变量名 ,方法
小驼峰命名
单个单词 : 全部小写
多个单词 : 第一个单词小写 从第二个单词开始首字母大写
见名知意

变量

常量 : 程序运行中 值不会发生改变的量
变量 : 程序运行中 值在一定范围内可以发生改变的量

注意事项
使用变量的变量名就是在使用这个变量
在同一个大括号内不可以定义同名变量
变量变化一定要在它能表示的范围内变化
long类型的变量定义时,要在常量值的后面加L
float类型的变量定义时,要在常量值的后面加F
变量只在其定义的大括号内有效
变量出了作用域就死亡

计算机的单元转换

计算机中最小的储存单元 : 字节 byte B
计算机中最小的信息单元 : 比特位 bit b
1B = 8b

数据类型

数据类型

基本数据类型 : 四类八种
整型 : byte short int long
浮点型 : float double
字符型 : char
布尔型 : boolean (true false)

引用数据类型 : 无数个
class 类
interface 接口
Array 数组
enum 枚举
@interface 注解

类型转换

double > float > long > int > char,short,byte
自动提升 : 大类型接收小类型的变量/值

强制转换 : 小的数据类型 变量名 = (小数据类型)大类型的值/变量

不要轻易做类型转换 会导致精度丢失

运算符

算术运算符

: + , - , * , / , % , ++/–
% : 求两个数相除的余数
当被除数小于除数的时候取余的结果就是被除数本身
0 : 48 a : 97 A : 65

++/–

  1. 必须和变量一起用
  2. 单独使用 : 不管在变量的前面还是后面 变量做自增自减
    参与运算的情况下
    在前面 : 先自增/自减 再运算
    在后面 : 先运算 再自增/自减

赋值运算

= 就是赋值
拓展的赋值运算符 : +=,-=,*=,/=,%=
拓展的赋值运算符隐含了强制类型转换:
short s = 10;
s += 20;
–> 展开式 : s = (short)(s + 20);

关系运算符

==,!=,>,<,>=,<=
相当于做比较
结果一定是boolean值

逻辑运算符

& : 逻辑与 -> 并且 "严格的丈母娘"
	运算法则: 有false则为false
	
| : 逻辑或 -> 或者 "和蔼的丈母娘"
	运算法则: 有true则为true
	
^ : 逻辑异或 中国的领结婚证关系
	运算法则: 相同则为false,不同则为true
	
! : 逻辑非 -> 取反 
	运算法则: true则false,false则true

带有短路效果的逻辑运算符:

&& : 逻辑双与
运算法则: 有false则为false
短路效果: &&左边的关系表达式结果为false,右边的表达式 不执行!!

|| : 逻辑双或
	运算法则: 有true则为true
	短路效果: ||左边的关系表达式结果为true,右边的表达式 不执行!!

只要用逻辑&和逻辑| 就直接使用逻辑双与和逻辑双或!!

三元运算符

结果的数据类型 变量名 = 结果为boolean类型的式子 ? 结果1 : 结果2;

计算boolean类型的式子
结果为true那么就是结果1
结果为false那么就是结果二

流程控制

键盘录入

Scanner 对象名 = new Scanner(System.in);

顺序结构

  1. 从main方法进入
  2. 从上至下执行代码
  3. 每一句代码都是从等号右边开始执行最后赋值的
  4. 小括号优先级最高

分支结构

switc : 拿表达式跟case后面的值依次做全等比较 如果相等执行case的语句体 遇到break或者反大括号就结束
如果都不相等的话有default就执行它的语句体
case穿透现象
if小括号内语句结果是true就执行语句体 否则就结束if 继续执行后面的代码
if else 判断两次
if 多选择结构如果都为false那么执行语句体n+1

循环结构

执行流程

  1. 执行初始化语句
    2. 执行判断条件语句
    -> false 立刻结束循环
    3. 若判断条件语句的结果是true,执行循环体语句
    4. 执行步进表达式
    5. 从第二步骤开始重复执行

for : 1 -> 2 -true-> 4 -> 3 -> 2 -true-> 4 -> 3 -> …
-false-> 结束循环 -false-> 结束循环

while : 1 -> 2 -true-> 4 -> 3 -> 2 -true-> 4 -> 3 -> …
-false-> 结束循环 -false-> 结束循环

do…while循环 : 1 -> 4 -> 3 -> 2 -true-> 4 -> 3 -> 2 …
-false-> 立刻结束循环

用循环的经验
当明确循环次数的时候推荐用for循环
不明确循环次数的时候推荐使用while循环

控制循环的关键字

break : 中断 相当于辞职
continue : 相当于请假

循环嵌套

外层循环执行一次,内层循环要全部执行!!

随机数

Random 对象名 = new Random();
int 变量名 = 对象名.nextInt(m);
nextInt(m) : nextInt(m - n + 1) +n

学习容器的方法

  1. 如何创建容器

  2. 如何使用容器的增删改查四类功能 CRUD

  3. 如何遍历容器

容器 : 数组,集合,数据库

数组

数组的类型是引用数据类型
数组一旦被定义,长度不能发生改变
索引从0开始

一维数组

数据类型[] 数组名; //这里只是对数组进行一个声明
-> int[] arr,double[] arr1,String[] arr2;
//int[] arr : 定义了一个int类型的数组名字叫arr
//int arr : 定义了一个int类型的变量他是一个arr数组

初始化

动态初始化 : 数据类型[] 数组名 = new 数据类型[m];
new 就是创建对象
m 就是数组长度 元素的个数
静态初始化 : 数据类型[] 数组名 = {值1,值2,值3,值4…}
**基本数据类型 : 对应值
引用数据类型 : 地址值 **

动态初始化数组元素默认值

    byte,short,int,long : 0
    float,double : 0.0
    char : '\u0000' 空字符
    boolean : false
    所有元素是引用数据类型的数组 : null

数组的增删改查

增删没有

改 : 先查后改
改元素 : 数组名[索引] = 修改的值

查 : 查元素 : 数组名[索引]
查元素个数,数组长度 : 数组名.length

java的内存分配

栈内存 : 弹夹 stack
先进后出
存放局部变量
栈内存元素 执行完毕立即死亡

堆内存 : 存放new的东西本体 memory
数据都有地址值 每nuw一次生成一个新的地址值
对象内部空间都是有默认值的

方法区 :
存放字节码文件 Class的对象
常量池 :存放常量的池子

局部变量和成员变量

局部变量 : 方法内和方法形参上的变量
随着方法的调用而产生 随着方法的出栈而死亡

成员变量 : 类中方法外
成员方法 : 类中方法外的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值