前言:
本人25,之前从事工程方面工作,没有任何计算机基础。现已下定决心进军IT业,因产品的核心部分为研发,而研发的核心角色在我看来为后端研发,因此选择JAVA语言作为进军IT业的开始。此为前文,以后的成果整理不再表述前言。
注:部分学习内容来自慕课网,有所借鉴。
目录汇总:
1、关键字
2、标识符
3、变量常量
4、数据类型,类型转换
5、注释
6、运算符
7、条件从句
8、循环语句
9、scanner用法
10、数组
11、Arrays操作
12、方法(四种类型)、方法重载
正文:
一、知识点
1、在控制台输出信息使用System.out.println( "输出的内容" );
2、JAVA中常用的关键字
注:JAVA严格区分大小写
3、标识符
标识符就是用于给 Java 程序中变量、类、方法等命名的符号。
注:标识符的命名最好能反映出其作用,做到见名知意,首字母大写;
4、变量
在 Java 中,我们通过三个元素描述变量:变量类型、变量名以及变量值。
5、控制台输出文字时换行
System.out.println(ab+"\n"+a);
6、Java中的数据类型
7、不同数据类型时的编码格式不同,有的不需要符号:
8、同时输出两行:System.out.printf("%c,%C",a,b);
9、Java中的强制类型转换
运行结果为:75.8
75
注:这种方法易造成数据丢失;
10、Java常量
一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变。
语法:final 常量名 = 值;
注:常量名一般使用大写字符
11、注释
单行注释、多行注释、文档注释
注1:文档注释为JAVA特有;
注2:可以通过 javadoc 命令从文档注释中提取内容,生成程序的 API 帮助文档。
注3:@author 标明开发该类模块的作者
@version 标明该类模块的版本
@see 参考转向,也就是相关主题
@param 对方法中某参数的说明
@return 对方法返回值的说明
@exception 对方法可能抛出的异常进行说明
12、运算符
(1)、算数运算符
(2)、赋值运算符
注:a%=b的含义为a/b,显示余数,除开为0,除不开(如3除以5余2)。
(3)、比较运算符
注:1、 > 、 < 、 >= 、 <= 只支持左右两边操作数是数值类型
2、 == 、 != 两边的操作数既可以是数值类型,也可以是引用类型
(4)、逻辑运算符
注:理解方式
(1、 与:要求所有人都投票同意,才能通过某议题
(2、 或:只要求一个人投票同意就可以通过某议题
(3、 非:某人原本投票同意,通过非运算符,可以使其投票无效
(4、 异或:有且只能有一个人投票同意,才可以通过某议题
(5)、条件运算符
条件运算符( ? : )也称为 “三元运算符”。
语法形式:布尔表达式 ? 表达式1 :表达式2
运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值
例:public class HelloWorld{
public static void main(String[] args) {
int score=58;
String mark =(score>=60)?"ok":"not ok";
System.out.println("考试成绩如何:"+mark);
}
}
运行结果: 考试成绩如何:not ok
(6)、运算符优先级
注:只需记住,小括号优先级最高。
13、条件语句
(1)、if从句及if else从句;
语法:
执行过程:
例子:public class HelloWorld {
public static void main(String[] args) {
int one = 19 ;
int a = one%2 ;
String end;
if(a==0){
end="偶数";
System.out.println(one+"是"+end);
}
else{
end="奇数";
System.out.println(one+"是"+end);
}
}
}
运行结果:19是奇数
(2)、多重 if 语句
在条件 1 不满足的情况下,才会进行条件 2 的判断;当前面的条件均不成立时,才会执行 else 块内的代码。
例子:public class HelloWorld {
public static void main(String[] args) {
int age=15;
String end;
if(age>60){
end="老年";
}
else if(age>=40){
end="中年";
}
else if(age>=18){
end="少年";
}
else {
end="童年";
}
System.out.println(end);
}
}
(3)、嵌套 if从句
public class HelloWorld {
public static void main(String[] args) {
int score = 92;
String sex = "男";
String zu;
if(score>=90){
if(sex.equals("女")){
zu="女子";
}
else{
zu="男子";
}
System.out.println("进入"+zu+"决赛");
} else{
System.out.println("您未进入决赛");
}
}
}
(4)、Java条件语句之 switch
例子:
14、循环语句:
(1)、循环语句while
执行过程:
< 1 >、 判断 while 后面的条件是否成立( true / false )
< 2 >、 当条件成立时,执行循环内的操作代码 ,然后重复执行< 1 >、< 2 >, 直到循环条件不成立为止
特点:先判断,后执行
例子: int i = 1; // 代表 1 - 5 之间的数字
// 当变量小于等于 5 时执行循环
while ( i<=5 ) {
// 输出变量的值,并且对变量加 1,以便于进行下次循环条件判断
System.out.println(i);
i++;
}
(2)、Java循环语句之 do...while
执行过程:
<1>、 先执行一遍循环操作,然后判断循环条件是否成立
<2>、 如果条件成立,继续执行< 1 > 、< 2 >,直到循环条件不成立为止
特点: 先执行,后判断
由此可见,do...while 语句保证循环至少被执行一次!
例子:int sum = 0; // 保存 1-50 之间偶数的和int num = 2; // 代表 1-50 之间的偶数
do {
//实现累加求和
sum+=num;
num = num + 2; // 每执行一次将数值加2,以进行下次循环条件判断
} while ( num<=50 ); // 满足数值在 1-50 之间时重复执行循环
System.out.println(" 50以内的偶数之和为:" + sum );
(3)、Java循环语句之 for
特点:相比 while 和 do...while 语句结构更加简洁易读
例子: for (int i = 1; i<=100 ; i++ ) {
// 变量 i 与 3 进行求模(取余),如果不等于 0 ,则表示不能被 3 整除
if (i % 3 != 0) {
sum = sum + i; // 累加求和
}
}
(4)、Java循环跳转语句之 break
break 语句会立刻退出指定的循环,直接执行循环后面的代码。
例子:// 保存累加值
int sum = 0;
// 从1循环到10
for (int i = 1; i <=7; i++) {
// 每次循环时累加求和
sum += i;
// 判断累加值是否大于20,如果满足条件则退出循环
if ( (sum>20) ) {
System.out.print("当前的累加值为:" + sum);
//退出循环
break;
}
//System.out.print("当前的累加值为:" + sum);
}
(5)、Java循环跳转语句之 continue
跳过循环体中剩余的语句执行下一次循环。
例子:
(6)、Java 循环语句之多重循环
理解:外层循环每执行一次,内层循环要执行一圈。
15、scanner用法:
(1) 引用:输入import java.util.Scanner;
(2)部署:Scanner inpot=new Scanner(System.in);
(3)使用:int score=in.nextInt();
例子:
16、数组:
例子:int[] a={1,2,3,4,5};
注:a[1]为第2个数,数组序列从0开始计数;
(1)、 声明数组
语法: 数据类型[ ] 数组名;
或者 数据类型 数组名[ ]
(2)、分配空间
语法: 数组名 = new 数据类型 [ 数组长度 ];
(3)、使用Arrays 类操作 Java 中的数组
注:需导入 import java.util.Arrays;
1)、 排序
语法: Arrays.sort(数组名);
2)、 将数组转换为字符串
语法: Arrays.toString(数组名);
例子: // 使用Arrays类的sort()方法对数组进行排序Arrays.sort(hobbies);
// 使用Arrays类的toString()方法将数组转换为字符串并输出
System.out.println( Arrays.toString(hobbies));
(4)、 foreach
是 for 语句的特殊简化版本
例子:
(5)、二维数组
每个数组空间中保存的是一个一维数组
注:可引用到父类子类中;
1)、 声明数组并分配空间
或
int[][] a=new int[x][y];
2)、 赋值
也可以在声明数组的同时为其赋值
3)、 处理数组
二维数组的访问和输出同一维数组一样,只是多了一个下标而已。在循环输出时,需要里面再内嵌一个循环,即使用二重循环来输出二维数组中的每一个元素
例:
运行结果:123
456
17、方法
一般情况下通用语法:
(1)、分类
无参无返回方法;
无参有返回方法;
有参无返回方法;
有参有返回方法;
注:返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值
(2)、无参无返回值方法
例子:public void showMyLove() {
System.out.println("。。。。。");
(3)、无参带返回值方法
例子:public double calcAvg() {
double java = 92.5;
double php = 83.0;
double a= (java + php) / 2; // 计算平均值
// 使用return返回值
return a;
}
(4)、带参无返回值方法
Hello Ab=new Hello(); //创建对象,名为Ab。
Ab.show("朋友"); //调用带参方法时必须传入参数值。
注:1)、 调用带参方法时,必须保证实参的数量、类型、顺序与形参一一对应
2)、 调用方法时,实参不需要指定数据类型,但要指定参数值
3)、 方法的参数可以是基本数据类型,如 int、double 等,也可以是引用数据类型,如 String、数组
4)、 当方法参数有多个时,多个参数间以逗号分隔
例子: public void calcAvg(int a,int b){
double ab=(a+b)/2;
System.out.println("平局分为"+ab);
}
(5)、带参带返回值方法
既包含参数,又带有返回值。
调用带参带返回值的方法:
(6)、重载
名称相同,但方法的参数不同,属于方法的重载. 当调用被重载的方法时, Java 会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行
注:判断方法重载的依据:
1)、 必须是在同一个类中
2)、 方法名相同
3)、 方法参数的个数、顺序或类型不同
4)、 与方法的修饰符或返回值没有关系