JavaSE基础总结

输出

System.out.println()    //在控制台输出, 输出之后换行,  小括号可以没有内容, 作为换行符
System.out.print()  //在控制台输出, 输出之后不换行, 小括号中必须有内容

转义符: \字符

控制台输出 \ 必须写成 \\

\n: 换行符

\t: 制表符: tab 4个空格

\": 输出一个双引号

注释

学会写注释的习惯

注释写的位置: 1) 类名 2) 方法上 3) 很复杂的逻辑代码上

java的注释:

// 单行注释

/* */ 多行注释

/** */ javaDoc注释: 文档注释, 多行 使用的位置:类名,方法上

变量:

表示内存一块小空间, 用于存储数据,和取数据

请添加图片描述

内存中的存储, 临时存储

变量的要素:

  1. 变量名: 方便取数据, 类似门牌号

    要求: 1) 使用的 数字,字母,下划线, 不能以数字开头

    ​ 2) 不能使用java的关键字 比如: public class static void

    ​ 3) 变量名/方法名/属性名 第一个字母小写(规范),遵循小驼峰命名法, 第一个单词的首字母小写. 后面每个单词的首字母大写 大驼峰命名法: 所有单词的首字母大写, 类名

    ​ 4) 见名知意, 推荐使用英文单词

  2. 数据类型, 开辟的空间大小
    请添加图片描述

    • 基本数据类型 8种

      • 数值类型(整数,浮点数) 6种

        • 整数 4个
          • byte: 1个字节 B 1B = 8b(位) 二进制
        • 浮点数 2个
      • 字符类型 1

      • 布尔类型 1

      请添加图片描述

    • 引用数据类型(类类型) 后面学习 String 字符串

  3. 变量的值

  1. 整数 默认的数据类型: int 1 小数: 默认的数据类型: double 1.5

  2. char类型值: 只能是单字符, 值必须使用单引号引起 ‘a’ ‘中’ ‘1’ ‘ab’ 错误

  3. boolean类型值: 只有两个: true,false

  4. String类型: 不能基本数据类型, 值必须使用双引号引起, 可以是n个字符组成, “a”, “abcd”,“”,“阿达的撒大大”

变量的使用:

三部曲:

  1. 声明变量(开辟空间) 语法: 数据类型 变量名;

​ 2.给变量赋值 变量名 = 值; =赋值符号, 有方向, 把赋值符号的右边赋值给左边

  1. 使用, 取

1.变量

变量使用步骤:

  1. 变量声明
  2. 变量赋值
  3. 变量使用

1和2可以合并成一行代码

语法: 数据类型 变量名 = 值;

整型赋值的注意事项:

byte short int long

如果变量是 byte: 赋值的数字 ~128 - 127 之间, 可以直接赋值

byte b = 121;

但是如果数字超出该范围, 直接赋值报错

一句话: 整型类型赋值,数字超出类型的范围, 报错, 如果没有超出,不报错

浮点型:

float: 单精度浮点数

double: 双精度浮点数

小数的数据类型,默认是 double类型, double的优先级高于float,

float num = 1.2; 1.2 double类型, 相当于把double类型转换为float类型, 但是float类型比double低

相当于把高的转换为低的, 无法自动转换,报错
请添加图片描述

数据类型转换:

  1. 由低转换为高 , java 自动转换

  2. 由高转换到底: 无法自动转换, 需要手动强制进行转换: 数据类型(低) 变量名 = ()值(高的值);

double a = 1.2;
float b = (float)a;
int c = (int)a;

2.Scanner 输入

使用步骤:

  1. 在类上导入 Scanner类, 位于java.util包: import java.util.Scanner;

String/System 不需要导包, 位于java.lang包, 程序自动加载java.lang下的类

  1. 创建Scanner Scanner input = new Scanner(System.in);

  2. 调用next相关的方法, 进行输入 input .nextInt() input.nextDouble()

nextInt() 输入一个整型

nextDouble() 输入一个double浮点数

nextBoolean() nextFloat()…

但是: 不能输入char 没有nextChar()

next() 输入字符串 nextLine() 输入字符串

细节:

输入字符串: next() nextLine()

next() 输入有效字符串, 不包含 空格,tab,回车, 遇到空格,tab,回车,都结束输入

但是空格,tab,回车内容 保存到缓存中

nextLine() 输入字符串,包含空格, 但是nextLine() 前面有其他next() nextInt() nextDouble()…

nextLine() 不起作用, 无法输入

解决方案: 1. nextLine() 放在所有的next方法之前

​ 2. nextLine() 不在第一个位置: 使用nextLine() 再加一个nextLine()

3. 运算符

1.算术运算符: + - / * %

①关于%运算符: 取模运算符(%)意为取余数,可适用于整数、char类型以及浮点数。

取模的正负号与被取模数同号

-2%3=-2    -2%-3=-2    2%-3=2

2.赋值运算符: =

3.比较运算符: > < >= <= == !=

4.逻辑运算符: &&(与) || (或) ! &(与) | (或)

5.++,-- 运算符

6.位运算: &(与) |(或) ^(异或)

1. 算术运算符

+: 1) 数值类型 + 加法

​ 2) 字符串与任意的类型 +, 表示拼接, 结果:字符串

/: 1) 整数/整数 整除(结果取整)

​ 2) 除数或者是被除数是浮点类型, 除法, 结果带小数

%: 取余 5%2= 1

作用:

  1. 判断是否整除

  2. 得到某位的数值, 对某个数进行缩小归类

1.运算符

1.1 自加,自减

++: 加1 语法 变量++ ++变量

​ 前加加 ++变量 步骤: 先变量加1 , 后赋值, 整个表达式的值 = 变量的值

>int a  = 10;
>
>//++a;  //1)  a = a+1  a=11  2) 赋值  (++a) = a;  (++a) = 11
>
>int b = ++a;   //1)  a = a+1  a=11  2) 赋值  (++a) = a;  (++a) = 11  3) 赋值符号:  把++a表达式的值赋给b 

​ 后加加: 变量++ 先赋值: 变量的值赋给表达式 后加1: 变量加1

int a = 10;

int b = a++; //1) 先赋值, 把a的值赋值给(a++)表达式 10 2) 加1: a = a+1, a=11 3)再把表达式结果赋值给b b = 10

-- 减1

前减减: --变量: 先减1, 再赋值

后减减: 变量–: 先赋值,再减1

2. 赋值运算符

  1. = 语法: 变量 = 值; 变量 = 变量1; 不能写: 值 = 变量; 错误, 把赋值符号右边赋值给左边

  2. += a += b; a = a+b;

  3. -= a -= b; a= a-b;

  4. = a * = b; a = ab;

  5. /= a /= b; a = a/b;

  6. %= a%=b; a= a%b;

赋值符号与算术符号组合的赋值符号: 隐式数据类型转换

a += b; 把a+b的结果 转换为a的类型

3. 比较运算符

比较运算符结果: boolean类型: true/false

使用场景: 条件语句, 循环语句

== 等于, = 赋值符号

!= 不等于

>大于

< 小于

>= 大于等于

<= 小于等于

4. 逻辑运算符

&& 短路与, 如果第一个表达式的结果为false, && 后面的表达式都不执行(类似电路的短路)

|| 短路或: 如果第一个表达式的结果为true, || 后面的表达式都不执行(类似电路的短路)

!

& 与 没有短路

| 或 没有短路

结果: boolean 类型

使用的场景: 条件,循环中, 连接多个比较表达式

5.三目运算符

语法: 条件(boolean的表达式)?值1:值2

如果条件为true: 返回值1, 如果条件为false, 返回值2

三目运算符可以嵌套:

条件1?值1:(条件2?值2:值3)

对if-else 某些场景的简化, if-else返回结果, 可以使用三目运算替换

6.位运算 二进制的位运算

&: 按位与 : 1:true 0:false 只要位上有一个为0, 结果:0 位上都为1, 结果: 1

|: 按位或: 只要位上有一个为1: 结果: 1 位上都是0: 结果: 0

!: 按位非 : 1 -取反-> 0 0-取反->1

^: 异或: 相同为0 , 不同为1 一个数异或某个数两次,等到自己

移位操作: 拓展

>>右移

<<:左移

java: 十进制, 八进制, 十六进制:

int a = 123; //十进制数

int b = 0123; //八进制

int c = 0x123; //十六进制

分支语句

  1. if 分支语句: 条件语句 最重要的
  2. switch分支语句: 条件语句: 等值判断

if 语句

语法:

if(条件){
//满足条件执行的代码
}

执行步骤: 如果条件为true,就执行if后面大括号的中的代码, 如果为false, 跳过if

if(条件){
//满足条件执行的代码
}else{
//不满足条件执行的代码
}

执行步骤: 如果条件为true,就执行if后面大括号的中的代码, 如果为false, 执行else大括号代码

if(条件1){
//满足条件执行的代码
}else if(条件2){

}
//...
else{
//不满足条件执行的代码
}

执行步骤: 如果条件1为true,就执行if后面大括号的中的代码,

如果条件1为false, 并且条件2为true , 执行 else if大括号代码

如果前面都满足, 才执行else的代码

if嵌套:

if嵌套
if(条件){
if(条件2){
 //...
}
}else{
//不满足条件执行的代码
if(条件3){
 //...
}
}    

注意:

如果 if,else, else if大括号中只有一行代码, 可以省略大括号, 但是希望大家写

如果大括号中不止一行代码, 一定不能省略大括号

switch 等值判断

switch(表达式)

​ case 值1:

​ //逻辑代码

​ break; //退出switch

​ case 值2:

​ //逻辑代码

​ break; //退出switch

//…

default:

​ //逻辑代码

break;

siwtch中表达式: 在jdk1.7之前,不支持String, 在jdk1.7以及之后支持String

​ 类型: 基本数据类型, String, 枚举类型

case的值不能相同, 值唯一

break: 可以省略, 也可以不省略

default: 可有可无, default 可以在最前面, 也可以在最后面, 推荐写在最后面, 可以省略break,

​ 写在最前面, 但是一定要写 break;

循环

重复写的代码, 考虑使用循环来优化

程序提供循环结构;

  1. for 循环 使用最多

  2. while循环

  3. do-while循环

for循环

for(表达式1;表达式2;表达式3){
    //循环要做的事情 ④
}

表达式1: 初始化循环变量, 给循环变量赋值, 只执行一次

表达式2: 循环条件表达式, boolean类型的结果, 如果true: 表示继续循环, 如果false:结束循环

每循环一次执行一次

表达式3: 修改循环变量, 如果不改,可能出现死循环,每循环一次执行一次

1 --> 2 --true-> 4 --> 3 --> 2 -false-> 结束
请添加图片描述

使用循环的步骤:

  1. 判断是否需要使用循环, 看问题中是否有重复做的事情
  2. 找循环条件
  3. 找循环要做的事情

难点: 把循环条件,循环要做的事情转换为代码

细节:

表达式能省略, 两个分号一定不能省略

for循环的表达式细节:

  1. 表达式1 可以省略, 可以把表达式1 写在for循环的外面, 提升循环变量的作用域

  2. 表达式2可以省略, 默认永远为true, 出现死循环, 避免出现死循环,

也可以在循环体中使用 break关键字退出循环

  1. 表达式3可以省略, 循环变量没有改变,可能出现死循环,

也可以在循环体写表达式3

  1. 三个表达式都省略, 但是两个分号不能省略

for(;😉{ //死循环

​ //在循环体中使用break退出循环

}

累加,累乘: 循环

累加: 和初始值: 0

累乘: 积的初始值: 1

while 循环

while(循环条件){

//循环体

}

//把for循环的表达式1 写在循环之外, 表达式3写循环体的for循环

表达式1;

for(;表达式2;){

​ //循环体

//表达式3

}

while循环体包含: 重复做的事情, 还有修改循环遍历

for/while特征: 先判断,后循环, 可能一次都不执行, 一上来,循环条件为false

do-while

just do IT

do-while: 特征: 先循环,后判断, 最小循环次数: 1

语法:

do{

//循环体

}while(循环条件);

//注意: while后面小括号之后有一个分号,不能省略

改变,可能出现死循环,

也可以在循环体写表达式3

  1. 三个表达式都省略, 但是两个分号不能省略

for(;😉{ //死循环

​ //在循环体中使用break退出循环

}

累加,累乘: 循环

累加: 和初始值: 0

累乘: 积的初始值: 1

while 循环

while(循环条件){

//循环体

}

//把for循环的表达式1 写在循环之外, 表达式3写循环体的for循环

表达式1;

for(;表达式2;){

​ //循环体

//表达式3

}

while循环体包含: 重复做的事情, 还有修改循环遍历

for/while特征: 先判断,后循环, 可能一次都不执行, 一上来,循环条件为false

do-while

just do IT

do-while: 特征: 先循环,后判断, 最小循环次数: 1

语法:

do{

//循环体

}while(循环条件);

//注意: while后面小括号之后有一个分号,不能省略

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值