目录
1.Java程序入门
1.1使用记事本开发Java程序。
必须通过JDK翻译并运行。
记事本开发的程序: 名称-----》.java java源文件
javac 编译成.class字节码文件
java 运行
1.2 Java是Sun公司开发,2010年被甲骨文公司收购。
1.3 Java是一门基于面向对象的高级编程语言。
输出语句
System.out.println();
转义字符:\n \t
2.变量+运算符
2.1 数据类型:2大类
基本类型:8个--byte|short|int|long|double|float|boolean|char
引用类型:String
变量:存储数据的容器并且可以操作。
内存与磁盘的区别?
int a = 10;
使用变量的步骤:
声明 int a;
赋值 a = 10;//int a = 10;
使用[输出] System.out.println(a);
运算符:
①算术运算符
+ :2个作用 拼接 加法运算符
int a = 10;
int b = 10;
System.out.println("a+b = "+a+b);
- 减法运算符
* 乘法运算符
/ 取整运算符
int a = 0;
int b = 2;
System.out.println(a/b);//0
System.out.println(b/a);//不等于0 出现异常 分母不能为0异常
int a = 1;
int b = 2;
System.out.println(a/b);//0
% 取模 求余数
10%3-------10/3是否有余数 余下的结果就是取模的结果。
199%10 ---- 9
问题:怎么求一个数字的个位 十位 百位----以10位单位
int a = 1234;
//个位
int gw = a % 10;
//十位
int sw = a / 10 % 10;
//百位
int bw = a / 100 % 10;
//千位
int qw = a / 1000;
++ 自增1
int a = 10;
int b = 20;
int c = --a + a-- + a++ - --b + b-- + a++;
-- 自减1
②赋值运算符
=
+=
-=
*=
/=
%=
int a = 10;
a = 20;
a+=10;//a = a+10;
syso(a);
③逻辑运算符
多个变量进行了多次比较 通过关系运算符
&& 并且 || 或者
int a = 10;
int b = 20;
int c = 30;
syso(a>b && a>c)
④关系运算符
==
!=
>=
<=
>
<
比较2个或2个以上的变量的大小 ---结果:boolean true false
int a = 10;
int b = 2;
syso(a<b);
⑤三元运算符
假设
表达式?结果1:结果2;
a>b?a:b
3.选择结构
if:如果
if(){} 如果...
if(){}else{} 如果...否则....
if(){}else if(){}else if(){}else{} 如果...或者...或者...否则
if(){if(){}} 如果...如果
求闰年:四年一闰百年不闰,四百年一闰
Scanner sc = new Scanner(System.in);//ctrl+shift+o导包
System.out.println("请输入一个年份: ");
int year = sc.nextInt();
if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
System.out.println("闰年 ");
}else{
System.out.println("平年");
}
求偶数
if(year % 2 == 0){
System.out.println("偶数 ");
}else{
System.out.println("奇数");
}
随机器:
Random rd = new Random();
int sj = rd.nextInt(10);
switch:开关 多分支语句
//JDK 1.7及以上 变量可以是String类型
switch(变量){//类型:整形:byte|short|int|long|char
case 值1: 语句;break;
case 值2: 语句;break;
case 值3: 语句;break;
...
default:
语句n;
break;
}
//求分数的等级
int a = 19;
switch(a/10){
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("E");
break;
case 6:
System.out.println("D");
break;
case 7:
System.out.println("C");break;
case 8:
System.out.println("B");break;
case 9:
System.out.println("A");break;
case 10:
System.out.println("SSS");
}
4.循环结构( 执行重复的代码)
while
初始化变量
while(条件表达式){
循环体
变量的递增或递减
};
do...while
初始化变量
do{
循环体
变量的递增或递减
}while(条件表达式);
for
for(初始化变量;条件表达式;变量的递增或递减){
循环体
}
1+100的和
int sum = 0;
for(int i = 1;i<=100;i++){
sum+=i;
}
//死循环:while(true){} for(;;){}
//求天数
1900.1.1 ----2008.1.1 相隔多少天
int sum = 0;
for(int i = 1900;i<2008;i++){
sum+=365;
if(i % 4 ==0 && i%100!=0 ||i%400==0){
sum++;
}
}
sum++;
5.数组
挖坑[只会挖一个坑] 可以存储多个同种数据类型的值。
通过[] 定义数组
静态:根据具体插入的值的多少,来确定长度
int[] arr = {123,45,465};
动态:长度必须定义好,值只有默认值
int---0 char---口 String---null
int[] arr = new int[10];
取值 数组名[下标] 从0开始 长度-1
数组的长度 数组名.length
数组遍历 2种
for foreach
案例:最大值 最小值 平均值 求和
冒泡排序:
一堆数字来排队
两辆相比小靠前
外层循环 条件为长度-1
内层循环 条件Wie长度-1-i
int[] arr = {123,6,3,1123,4324,543,23};
for(int i = 0;i<arr.length-1;i++){
for(int j = 0;j<arr.length-1-i;j++){
if(arr[j] >arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for(int sb : arr){
syso(sb)
}
//Arrays.toString()
//Arrays.sort();
二维:
定义
int[][] arr = new int[10][10];
及基本使用
遍历 最大值 最小值 平均值 求和