JAVASE(桌面应用开发)基础学习总结
1.java语言是一门高级的编译解析型的计算机编程语言
2.java语言历史
Java语言起源于1991年由sun公司员工詹姆士.戈士林(法国人)和其组员共同完成的Green计划;最初叫Oak,1995年更名java。
3.JDK环境变量配置
1) 新建class_path环境导入JDK.lib文件地址
2) 编辑path环境变量导入JDK.bin和JRE.bin文件地址
4.开发java程序步骤
1)在E盘新建记事本编写一个*(Demo).java源文件
2)在源文件创建一个名字*(Demo)的类
public class Demo{
}
3)在Demo类中写主方法
public class Demo{
public static void main(String args[]){
}
}
4)在主方法中写一个输出语句
public class Demo{
public static void main(String args[]){
System.out.print("Hello Java!");
}
}
5)在控制台编译
E:—》javac Demo.java(编译代码)—》java Demo(执行代码并输出语句:Hello Java)
5.标识符相关
标识符即我们在编程过程中为变量、类、方法取的名字
标识符原则
1) 只能由字母、数字、下划线( _ )、美元符号( $ )组成
2) 不能以数字开头
3) 不能是关键字(int if for )
4) 区分大小写:A a 是不同的标识符
6.Java基本数据类型
布尔型 boolean true false
整数型 byte short int long 1 2 3 4 99999
字符型 char ‘a’ ‘1’
浮点型 float double 3.14f 3.1415926
7.常用类型定义变量举例(初始化)
boolean temp = true;
char c = 'a'; 用单引号括起来
String s = "Hello Java"; 用双引号括起来
int a; a = 10; int a = 10;(单一的数字默认其类型为int )
float f = 1.3f; (定义float变量其后要写f,否则默认为double类型)
double d = 3.1415926
数据类型的转换:低精度转高精度自动转 高精度转低精度需要强转
int a = 5;int b = 6; double d = 3.15;
double sum = a + b;(int类型的变量a,b自动转为double参与运算)
int c = (int)d;(用double类型的值赋给int类型需要强转)
8.运算符
1)算术运算符 + - * / %(取模、取余) += -= *= /= %=
2)关系运算符 > < == <= >=
3)逻辑运算符 && ||
4)位运算符 位与 &(同为1为1) 位或 | (同为0为0) 位取反 ~ (1变0 0变1) 位异或 ^ (相同为0不同为1)
A && B 同为真为真 若A为假则B不执行
A||B 同为假为假 若A为真则B不执行
5)其他运算符 三目运算符 A ? B: C
8.分支语句
if (){}
int a = 10;
if(a > 5){System.out.print(a+"大于5")}
if(a > 5){System.out.print(a+"大于5")}else{System.out.print(a+"小于5")}
if(a > 15){System.out.print(a+"大于15"}else if(a < 15 && a > 5){System.out.print(a+"大于5小于15"}else {System.out.print(a+"小于5")}
switch(a){case : b 语句; break;
case : b 语句; break;
default;}
9.循环语句
while(){} do{}while(); for(){}
int i=1,sum = 0;
while(i < 5){
sum += i;i++;
}
Do{
sum += i;i++;
}while(i < 5);
for( int j = 1;j < 5 ; j++){
sum += i;
}
循环嵌套
for(int i = 1; i <=9; i++){
for(int j = 1; j <= 9;j++){
System.out.print(j+"*"+i+"="+i * j+"\t");
if(j == i)
Break;}
System.out.println();
}
10.数组相关
数组即把具有相同类型的数据整合在一个容器中,这个容器就叫数组
数组定义 int a[]; int []a;
数组初始化
确切知道数组内元素的值用静态初始化 int a[] = {1,2,3,4,5};
不确切知道数组内元素的值,但知道元素的个数用动态初始化 int a[] = new int[5];
取数组内元素用数组名加[下标] a[0] a[1] a[2] 数组下标从零开始
数组长度 数组名.length a.length
数组遍历 for(int m:a){System.out.print(m);}
11.二维数组
int a[][] = new int[5][5];int b[][] = {{1,2,3},{2,4,8},{3,6,9}}
二维数组其元素本质上也是一个小的数组
二维数组遍历for(int m[]:a) —》for(int n:m)
12.排序
冒泡排序:用当前位置上的数和其后的每个数比较
int a[] = {3,2,15,16,4,9,153}
for(int i = 0; i<a.length;++i){
for(int j=i+1;j<a.length;++j){
if(a[i] > a[j]){
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
选择排序:定义一个最大或最小值的下标,与其后的值比较,交换下标,如果下标不同,则交换数据
int a[] = {3,2,15,16,4,9,153}
int max = 0;
for(int i = 0; i<a.length;++i){
for(int j=i+1;j<a.length;++j){
if(a[max] < a[j]){
max = j
}
if(max != i){
int temp = a[i];
a[i] = a[max];
a[max] = temp;
}
}
}
13.随机数相关
Math.random() 随机出来的数是0~1之间的浮点数
如果要随机min~max范围内的数 int a = (int)(Math.random() * (max - min + 1) + min)
14.方法相关
概念:为实现某个功能或得到某个结果将一系列的步骤、过程进行封装,得到封装体就称为方法
public(访问修饰符) static(方法类型修饰符)void(返回类型)fun(方法名)(参数){方法体}
public static void fun(int a){
System.out.print(a);
}
注:定义方法时 参数不能赋值
方法调用:在主方法中 直接用方法名(参数)调用 fun(10);
方法的重载
在同一类中方法名相同返回类型不同、参数列表不同(类型不同,个数不同,顺序不同)的方法称之为方法的重载
递归调用:在一个方法里面自己调用自己,主要用来解决无限级的问题(比如打开文件夹里面还有无限个文件夹的处理)
递归调用举例(求阶乘)
Public static void jiecheng(int a)
{
if(a < 1)
return 1;
else
a *= jiecheng(a - 1);
}
15.控制台输入
需要导入包 import.java.Scanner;
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();(字符串型 sc.next 浮点型 sc.nextDouble)