Java学习笔记(一)

时间:2021-10-16 12:06:30
一、变量与常量
1. 常用关键字(区分大小写)。
2. 标识符:可由字母、数字、下划线等组成,不能以数字开头;严格区分大小写;尽量做到见名之意。(命名时,一般若由多个单词组成,第一个单词首字母小写,其后单词的首字母大写,如myAge)。
3. 数据类型:基本数据类型(数值型、字符型、布尔型、类、接口、数组)——变量存的是变量本身、引用数据类型——变量存的是空间地址。 
常用的数据类型
int 整型 4字节 存储整数
double 双精度 8字节 小数
float 单精度 4字节 小数
char 字符型 2字节 单个字符
boolean         布尔型      1字节    取值为true/false
**float height=175.2f——添加字母f;
**char level=‘A’——单引号;
**string是常见的引用数据类型,用于表示字符串。
4.变量使用规则:先声明后使用、先赋值才输出、每次只能赋一个值。
5.自动类型转换——目标类型与源类型兼容;
   强制类型转换——例:(int)avg
 
二、运算符
1.常用运算符
算术:+、-、*、/、%、++、--
赋值:=、+=、-=、/=、%=
比较:<、>、>=、<=、==、!=
逻辑:&&、||、!、^
条件:布尔表达式?表达式1:表达式2
2.优先级
 
三、流程控制
if、if...else、多重if、嵌套if、switch、while、do...while、for、break、continue、多重循环。
**获取用户输入值:
1.导入java.util.Scanner——import java.util.Scanner
2.创建scanner对象——Scanner ***=new Scanner(system.in)
3.接受并保存输入值——int ###=***.next 数据类型();
 
四、数组
1.数据类型[ ] ***=new 数据类型[数组长度]  OR  数据类型[ ] ***={参数1、参数2、...、参数n}
2.数组名.length用于获取数组长度
3.Arrays类操作数组——import java.util.Arrays       //导入Arrays类
       Arrays.sort(数组名)     //对数组升序排列
       Arrays.toString(数组名)    //将数组转换为字符串,多个元素间用逗号或者空格隔开
4.foreach遍历数组:
for(元素类型  元素变量:遍历对象){
       代码块
}
5.二维数组:
声明——数据类型[ ][ ] 数组名=new 数据类型[行数][列数];
赋值——数组名[行索引][列索引]=值;
处理数组
6.创建不规则二维数组:
例——int[ ][ ] num=new int[3][ ];
   num[0]=new int[2];   //位第一行分配2列
                           ........以此类推
 
五、方法
1.方法:用于解决一类问题的代码的有序组合,是一个功能模块。
2.格式:访问修饰符 返回值类型 方法名(参数列表){
 方法体
}
3.分类:无参无返回值——类   对象=new  类();       //创建对象
   对象  方法名(); //调用方法
   public void 方法名(){
代码块
}
******无返回值时返回值类型指定为void;若由返回值则要制定类型且在方法中使用return返回。******
      无参有返回值——不能有多个返回值;方法返回值的类型必须兼容。
      有参无返回值——public void 方法名(参数类型   参数名){  代码块 }
****调用:对象名.方法名(实参1,实参2,...,实参n)****
****调用带参方法时保证实参数量、类型、顺序与形参一一对应。****
****调用方法时,实参不需要制定数据类型****
****多个参数用逗号隔开****
      有参有返回值——例: public string show(string name){
return       “欢迎”+name+“!”
}
4.重载:如果同一类中包含了两个或者多个以上方法名相同、方法参数的个数、顺序或类型不同的方法,成为方法的重载。
      调用被重载的方法时,会根据特征来判断使用的是哪种方法。
 
六、例题
要求:1、 考试成绩已保存在数组 scores 中,数组元素依次为 89 , -23 , 64 , 91 , 119 , 52 , 73
   2、 要求通过自定义方法来实现成绩排名并输出操作,将成绩数组作为参数传入
   3、 要求判断成绩的有效性( 0—100 ),如果成绩无效,则忽略此成绩
参考:  import java.util.Arrays;
public class HelloWorld {
    public static void main(String[] args) {
    HelloWorld test=new HelloWorld();
    test.show();
    }
    //定义方法完成成绩排序并输出前三名的功能
    public void show(){
int count=0;
int[] scores = {89,-23,64,91,119,52,73};
Arrays.sort(scores);
System.out.println("考试成绩前三名为:");
for(int i=scores.length-1;i>0&&count<3;i--){
   if(scores[i]>0&&scores[i]<100)count++;
               else  continue;
     System.out.println(scores[i]);
         }
            }
}