java 基础归纳总结(二)

Java 阶段性学习总结

一、Java运算符

运算符:
指明对操作数的运算方式的符号,如+、-、* 、/、等等

表达式
 用运算符连接起来的符合Java 规则的式子,称为表达式,如a+b

 

1、 算术运算符:

+ 正号
- 负号
+ 加
- 减
* 乘
/ 除
% 取模
++ 自增(前)
++ 自增(后)
-- 自减(前)
-- 自减(后)
+ 字符串相加

/ 和 %
a/b 计算的结果是a除以b的商
a%b 计算的结果是a除以b后的余数

 ++a 和 a++
 a++ 是先运行,后自增
 ++a 是先自增,再运行


2、 赋值运算符:

= 赋值
+= 加等于
-= 减等于 ;
*= 乘等于 ;
/= 除等于 ;
%= 模等于

运算顺序
 先计算右边,将结果赋值给左边的变量
 a+=2 和 a=a+2意义相同
 a-=3 和 a=a-3意义相同,其它类推

 

3、 关系运算符:

== 相等于
!= 不等于
< 小于
> 大于
<= 小于等于
>= 大于等于

instanceof 检查是否是类的对象 ;
“Hello” instanceof String ------ true

运算结果
 关系运算符的结果都是boolean型,不是true,就是false
 ==运算符:
 关系运算符“==”不能误写成“=”

 

4、 逻辑运算符:

& AND(非短路与)
| OR(或)
^ XOR(异或)
! Not(非)
&& AND(短路)
|| OR(短路)

 逻辑运算符用于连接关系表达式
 在Java中表达式不可以写成 3<x<6,应该写成 x>3 & x<6

“&”和“&&”的区别:
 &时,左边无论真假,右边都进行运算
 &&时,如果左边为真,右边参与运算,如果左边为假,右边不参与运算

 “|”和“||”的区别同理,双或时,左边为真,右边不参与运算


5、 三元运算符:

格式
条件表达式?表达式1:表达式2;
 如果条件表达式结果为true,运算后的结果是表达式1
如果条件表达式结果为false,运算后的结果是表达式2

二、分支结构

If的三种语句

1、If(条件表达式){
表达式返回true的时候要执行代码
}


2、If(条件表达式1){
表达式1返回true的时候要执行代码
}else if(条件表达式2){
表达式2返回true的时候要执行代码
}


3、If(条件表达式1){
表达式1返回true的时候要执行代码
}else if(条件表达式2){
表达式2返回true的时候执行代码
}else{条件1与条件2都不满足的其他情况要执行的代码}

switch语句

switch(变量){变量类型:byte    short     int     char  /1.7版 本后支持string

case 1:
代码;
break;

case 2:
代码;
break;

case 3:
代码;
break;

default
代码;

}

三、循环结构

while 循环

语法:
while (条件)
{
需要执行的代码
}

do/while 循环

do/while 循环是 while 循环的变体。该循环会执行一次代码块,在检查条件是否为真之前,然后如果条件为真的话,就会重复这个循环

语法:
do
{
需要执行的代码
}
while (条件);

无限循环

只要指定条件为 true,循环就可以一直执行代码

for 循环

for (语句 1; 语句 2; 语句 3)
{
被执行的代码块
}

语句 1 在循环(代码块)开始前执行

语句 2 定义运行循环(代码块)的条件

语句 3 在循环(代码块)已被执行之后执行

while 和 for的区别

while:一般用于无限次循环
for:一般用于 固定次数的循环

四、数组

数组:存储一组数据
数组是在java内存空间中 分配了一段连续的空间

声明数组:
公式:数据类型 [ ] 数组名; 推荐使数 据 类型 数组名[ ];

赋值:
1、静态赋值
1)数组名 = {元素1,元素2,……};元素就是我们要存储进数组的数据 (精简版) 不能将声明和赋值分开写
2)数组名 = new 数据类型 []{元素1,元素2,……}; (完整版)


2、动态赋值
数组名 = new 数据类型[数组大小];

取数据:
* 数组名[对应下标];
* 存放数据:
* 数组名[对应下标] = 值;
* 直接获取我们数组的长度:
* 数组名.length

二维数组:
一维数组中的元素是另一个一维数组

声明:
* 数据类型 [ ][ ] 数组名;
* 静态初始化:
* 1、简单版: int[ ][ ] arr = {{1,2,3},{4,5,6},{7,8,9}};
* 2、完整版:int[ ][ ] arr = new int[ ][ ]{{1,2,3},{4,5,6},{7,8,9}};
* 动态初始化:
* int [ ][ ] arr = new int [2][3];
* [2]: 外层数组有多少个元素 (行数)
* [3]: 内层数组有多少个元素 (列数)

五、随机数

随机数:随机产生的数据

产生随机数的方式:
1、
* Math.random() 产生的是小数 [0~1):包含0 不包含1
* (int)(Math.random()*100): 产生0~100的整数 不包括100
* 产生 1000 ~ 10000 之间的随机数?
* (int)(Math.random()*9000+1000)


2、Random
1>、创建随机数工具Random
* Random random = new Random();

* random.nextInt(10) : 产生 10以下的随机数

六、冒泡排序
原理
两两之间进行比较,满足条件交换位置


总结
排的轮数比数列的长度少一


双层for循环
第一层:比较的轮数
第二层:比较的次数

public class 冒泡排序 {


public static void main(String[] args) {

int [] arr = {15,49,33,21,1};
for(int x = 0;x<arr.length-1;x++){//比较轮数
for(int y = 0;y<arr.length-1-x;y++){//比较次数
if(arr[y]>arr[y+1]){


int temp = arr[y];
arr[y] = arr[y+1];
arr[y+1] = temp;
}


}
}
System.out.println(Arrays.toString(arr));
}
}

七、方法

方法
具有某一个特定功能的代码,封装提取成一个方法


方法的好处:
1.提高代码的复用率
2.减轻main方法的压力
3.使用代码看起来干净利落


方法的格式:
修饰符 返回值类型(参数类型 参数名,参数类型 参数名){return值}

 

2:方法中怎么判断是否有参数和返回值
:是否需要操作数据——参数
有没有结果————返回值

原文地址:https://www.cnblogs.com/dhm520/p/8466635.html