(二)JAVA基础部分
基本数据类型
java中八大基本数据类型
byte int(4字节) short long(8字节) double
float char boolean
声明和使用
a、先声明后赋值
int a;
a=10;
b、直接赋值
int a=20;
用final 定义的变量 就是常量(值固定不变)
final int a = 5;
注意:定义常量,变量名都是大写
不同单词之间用“_”分隔
运算符
关系运算符
= 赋值运算符
== 关系运算符 ,不等于 !=
String str2 = new String(“你好”);//两个对象
逻辑运算符
与 或 非
&&(短路与) ||(短路或) !
&(非短路与) |(非短路或)
int a = 5;
int b = 4;
int c = 7;
b>c && a>b 先判断b>c是否为true,不为true,a>b不判断
b>c & a>b 先判断b>c是否为true,不为true,再判断a>b是否为true
优先级:
!>&&>||
三元运算符
条件表达式 ?表达式1:表达式2
Scanner
键盘输入
Scanner input = new Scanner(System.in);
输入字符串:input.next();
输入整数:input.nextInt();、复合赋值运算符
+= , -= ,*=,/= ,%=
int a = 9;
a+=10; // a = a+10;
i++ 和 ++i的区别
i++ 先赋值后加1,++i 先加1后赋值
优先级:
最高的优先级:( )
最低的优先级:=
!> 算术运算符 > 关系运算符 > && > ||
流程控制语句
if…else..
if(){
}else{
}
{}建议不省略
多重if判断
if(){
}else if(){
}else{
}
else是对前面if条件的否定
字符串判断是否相等用equals();
equals 和 == 区别
== 判断的是内存地址是否相等
equals判断的是两个对象的值是否相等
“男”.equals(sex)
switch流程控制
语法结构:
表达式: int,short,byte,char,枚举,String(jdk1.7之后)
switch(表达式){
case 常量1:
语句;
break;
case 常量2:
语句2;
break;
default:
语句。。;
}
default代码块一般放末尾(可省略)
处理等值条件判断时一般用switch
循环语句
int i=1;
while(i<=100){
System.out.println(“好好学习”);
i++
}
双重循环
break;
break跳出switch选择结构
break不能用于if else
用法:
break用于switch和循环结构
break只能跳出当前break所在的循环
continue
继续当前循环而不执行后面的代码,
一般用于循环筛选数据
return
直接结束当前方法执行,退出当前
方法
增强for循环(foreach)
一般用于循环数组或集合
一、循环控制语句
1、do while
do{
}while();
先执行程序再判断
while循环是先判断再执行
do while循环至少执行一次
2、for循环(重点)
for(int i=0;i<100;i++){
}
循环次数固定情况下推荐用
for循环
for循环条件中一定有两个;
for(;;){
System.out.println(“好好学习”);
}
循环四个必不可少的部分
初始化变量
循环条件
循环体
迭代部分
循环次数确定一般用for循环
循环次数不确定可以用while循环和do while循环
二重循环
外层循环控制行数
内层循环控制列数
数组
存储相同数据类型的一组数据
数组长度是固定不变的
创建数组并赋值的方式,必须在一条语句中完成
声明数组
int[] score1 = new int[5]
int score2[]
String[] names
边声明边赋值
int[] array = {4,3,1,10,34};
int[] array2 = new int[]{4,3,1,10,34};
怎么判断数组是空数组还是null
int[] array = {};
int[] array2 = null;
数组的常用操作
排序,求最大值,最小值,插入数字
a、求数组中的最大值
for(int i=0;i<scores.length;i++){
if(scores[i]>max){
max = scores[i];
}
}
b、插入算法
//1、找到要存放的位置下标
int index = arrays.length-1; //5
for(int i=0;i<arrays.length;i++){
if(score>arrays[i]){
index = i;
break;
}
}
System.out.println(“要插入的位置下标:”+index);
//空出要插入的位置,队伍往后排
for(int j = arrays.length-1;j>index;j–){
arrays[j] = arrays[j-1];
}
c、排序
选择排序
//升序排列
for(int i=0;i<array.length;i++){
for(int j=i+1;j<array.length;j++){
if(array[i]>array[j]){
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
冒泡排序(升序)
int[] arrays = new int[]{16,25,9,90,23};
每次比较相邻的两个数
小的交换到前面
每轮结束后最大的数交换到最后
Arrays类(工具类)
工具类存放java.util.*
Arrays.sort();//只能进行升序排序
Arrays.equals(array1,array2)//比较两个数组是否相等
Arrays.toString();//将数组转为字符串
Arrays.fill(intArray,50);
Arrays.copyOf(int[],length)//根据长度复制一个数组
Arrays.binarySearch(intArray, 9);//先进行升序排序才能查找
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/13908.html