Java语法
1.Java类的建立:
public class+ 类的名字{
}
2.类中的方法的建立:
public static void main(String[] args){ 代码逻辑
}
3.系统输出:
System.out.println(输出的变量)
4.变量和赋值
数据类型+变量=赋值
数字类型:byte short int(常用) long(赋值后面+L) float(赋值后面+F) double char boolean
public class Damo{
public static void main(String[] args ){
byte a =12;
System.out.println(a);
int b =656;
System.out.println(b);
char c ='我';
System.out.println(c);
}
}
5.数据类型转换:
①范围小的可以自动转换成范围大的数据类型
public class Datetran{
public static void main(String[] args){
double a = 1000;
System.out.println(a);
int b = 100;
double i = b;
System.out.println(i);
}
}
②强制转换(范围大的数据类型转换成范围小的数据类型)
转换公式:范围小的数据类型 变量 = (范围小的数据类型) 范围大的数据类型值
public class Datetran_1{
public static void main(String[] args){
double d = 3.14;
int i =(int)d;
System.out.println(i);
}
}
6.运算符
+ 正号 +3 3 加 2+3= 5 连接字符串 “中”+“国” “中国”
- 负号 int a=3;-a -3 减 3-1 2
* 乘 2*3 6
/ 除 5/2 2
% 取模 5/2 1
++ 自增 int a=1; a++/++a 2
-- 自减 int b=3;a--/--a 2
注意事项
*a:加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串。
*b:除法“/”当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除。
*c:“%”为整除取余符号,小数取余没有意义。结果符号与被取余符号相同。
*d:整数做被除数,0不能做除数,否则报错。
*e:小数做被除数,整除0结果为Infinity,对0取模结果为NaN
7.引用类型数据(Scanner、Random)
Scanner:使用键盘输入
Random:产生随机数
1.导包
2.创建类的变量(公式:类型 变量名 = new 类型())
3.使用类的功能(公式:变量.功能名())
import java.util.Scanner;(导入包:import+包的路径)
public class Datetype{
public static void main(String[] args){
Scanner sc = new Scanner(System.in); (创建类的变量 System.in:接受系统输入 )
int i = sc.nextInt();(使用类的功能 nextint是接受键盘整数输入)
System.out.println(i+1);
}
}
import java.util.Random;
public class RandomDemo{
public static void main(String[] args){
Random ran = new Random();
int i = ran.nextInt(100);
System.out.println(i);
}
}
问题? 产生随机数,范围 1-100之间
nextInt(100) 0-99 + 1
next()这个关键字功能:接受键盘字符串输入
8.流程控制语句
if语句格式:
if (条件){if的执行体
}
public class IfDemo{
public static void main(String[] args){
int i = 5;
if (i==5){
System.out.println("鏉′欢涓烘");
i++;
}
System.out.println(i);
}
}
if...else语句格式:
if(){if的执行体
}else {else的执行体
}
public class IfDemo{
public static void main(String[] args){
int i = 14;
if(i % 2 == 0){
System.out.println(i+" 是偶数");
}else{
System.out.println(i+" 是奇数");
}
}
}
if...else if...else语句格式:
if(条件){if
}else if(条件){if的执行体
}else if(条件){if的执行体
}else{else的执行体
} import java.util.Scanner;
public class IfDemo{
public static void main(String[] args){
Scanner sc =new Scanner(System.in);
int grade = sc.nextInt();
if (grade>=85){
System.out.println(grade+" 学生成绩为优");
}else if (grade>=75){
System.out.println(grade+" 学生成绩为良");
}else if (grade>=60){
System.out.println(grade+" 学生成绩为及格");
}else{
System.out.println(grade+" 学生成绩为差");
}
}
}
9.三元运算符(判断条件只有一个时可以和if转换)
格式:判断条件?表达式1:表达式2
public class IfDemo_1{
public static void main(String[] args){
int i = 9;
int j = 6;
int k = i>j ?i : j;
System.out.println(k+" 是最大值");
}
}
10.循环语句
While循环格式:
while(条件){循环体
}
public class WhileDemo{
public static void main(String[] args){
int i = 0;
int sun =0;
while(i <10){
i++;
sun=sun+i;
System.out.println(i);
}
System.out.println(sun);
}
}
for循环格式:
for(初始化变量;条件;增量){
循环体
}
public class ForMemo{
public static void main(String[] args){
int sun =0;
for(int i=0;i<10;i++){
System.out.println(i);
sun=sun+i;
};
System.out.println(sun);
};
}
do...while循环格式:
do{
循环体
}while(条件);
public class ForMemo{
public static void main(String[] args){
int i =0;
int sun =0;
do{
sun=sun+i;
i++;
}while(i<=100);
System.out.println(sun);
};
}
注意;无条件执行一次(特点)
嵌套循环格式:
for(){
for(){
}
}
注意:总循环=内循环*外循环(外控制行数,内控制每行个数)
public class ForForDemo{
public static void main(String[] args){
for(int i = 0 ; i < 9 ; i++){
for(int j = 0; j < i+1 ;j++){
System.out.print("* ");
}
System.out.println();
}
}
}
11.跳转语句(break、continue)
break:作用于循环中,终止循环的作用
continue:在循环中,终止本次循环,开始下一次循环
12.swtich选择语句
swtich格式:
swtich(表达式){
case 常量1 :
要执行的语句
break;
case 常量2 :
要执行的语句
break;
case 常量3 :
要执行的语句
break;
default:
要执行的语句
break;
}
执行流程:表达式和case后面的常量比较,那个case相同执行那个case
import java.util.Scanner;
public class SwitchDemo{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int week = sc.nextInt();
switch(week){
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("请正确输入");
break;
}
}
}
注意:case具有穿透性
13.数组函数
定义数组容器的要素: 数据类型 、大小 、存储的个数
数组的公式:
数据类型 [] 变量名 = new 数据类型 [存储元素的个数];
new 创建容器的关键字
数组的编号最小值0,最大值为长度-1,专业名词:索引
数组的长度 使用属性:数组名.length
数组中的元素默认都为0,数组元素的赋值:数组名[元素编号]=要赋的值
定义数组时赋值:数据类型 [] 变量名 = new 数据类型 []{要赋的值}; 注意:new后面的[]不能输入
数据类型 [] 变量名={要赋的值};(最常用)
public class ArrayDemo{
public static void main(String[] args){
int[] arr = new int[5];
arr[1] =3;
int[] arr1 =new int[]{1,5,7,6,9,3};
int[] arr2 ={2,4,6,8,10,18};
System.out.println(arr[1]);
System.out.println(arr.length);
System.out.println(arr1[2]);
System.out.println(arr2[3]);
}
}
数组的遍历(很常用)
public class ArrayDemo_1{
public static void main(String[] args){
int[] arr ={1,5,6,9,15,19,20,58,66,88};
for(int i = 0;i<arr.length;i++){
System.out.println(arr[i]);
}
}
}
数组中取最大最大值
public class ArrayDemo_1{
public static void main(String[] args){
int[] arr ={1,5,6,9,15,88,20,58,67,80};
int max =arr[0];
for(int i = 1;i<arr.length;i++){
if(max<arr[i]){
max=arr[i];
}
}
System.out.println(max);
}
}
二维数组定义、赋值、遍历
二维数组的定义和赋值:数据类型 [] [] 变量名 ={{数组值},{数组值},{数组值}};
遍历;使用for...for...循环的功能实现
public class ArrayArrayDemo{
public static void main(String[] args){
int [][] arr ={{1,3,6,},{4,12,8},{45,66,12,23}};
System.out.println(arr[1][2]);
for(int i = 0;i<arr.length;i++){
for(int j =0;j<arr[i].length;j++){
System.out.print(arr[i][j]); //print表示打印不换行
}
System.out.println();
}
}
}
14.方法功能
方法的定义格式:修饰符 返回值类型 方法名(参数列表){
方法的功能主体
return;
}
方法被调用:方法名(变量的值)
public class MothodDemo{
public static void main(String[] args){
int area = GetArea(6,7); //调用方法,入口点main的方法一定要存在才能调用
System.out.println("面积是: "+area );
}
public static int GetArea(int w,int H){
return w * H;
} //方法的定义
}
方法的重载特殊:
在同一个类中,允许出现同名的方法,只要方法的参数列表不同即可,这样方法就是重载
参数列表不同: 参数的个数,数据类型,顺序
方法重载的注意事项
1. 参数列表必须不同
2. 重载和参数变量名无关
3. 重载和返回值类型无关
4. 重载和修饰符无关
技巧: 重载看方法名和参数列表
public class MethodOverLoadDemo{
public static void main(String[] args){
System.out.println();
double sum = getSum(2.3,3.5);
System.out.println(sum);
}
public static int getSum(int a,int b){
System.out.println("两个int参数");
return a+b;
}
public static int getSum(int a,int b,int c){
System.out.println("三个int参数");
return a+b+c;
}
public static double getSum(double a,double b){
System.out.println("两个double参数");
return a+b;
}
}
调用方法的参数传递
方法参数是基本数据类型:
· 注意:方法返回值一定要赋值才可以改变原来的值,没有赋值则返回值无效,即是程序运行和方法无关
public class MethodDemo2{
public static void main(String[] args){
int a = 1;
int b = 2;
Change(a,b);
System.out.println(a); //1
System.out.println(b); //2
}
public static void Change(int a,int b){
a=a+b;
b=b+a;
}
}
方法参数是引用类型:
注意:传递的是内存地址!!!
public class MethodDemo3{
public static void main(String[] args){
int[] arr = {1,2,3,4};
System.out.println(arr[2]); // 3
change(arr);
System.out.println(arr[2]); // 100
}
public static void change(int[] arr){
arr[2] = 100;
}
}
15.自定义类
使用类的形式,对现实中的事物进行描述 1.事物: 方法,属性 2.方法: 这个事物具备的功能 3.属性: 变量
格式:
public class 类名{
属性定义
修饰符 数据类型 变量名 = 值
方法定义
修饰符 返回值类型 方法名(参数列表){
}
}
要求: 使用Java中的类,描述生活中的手机这个事物
手机事物,具备哪些属性, 属于他自己的特性
颜色,品牌, 大小
public class Phone{
String color ;
String brand ;
double size ;
}
调用类使用其功能:
创建引用类型变量的格式
数据类型 变量名 = new 数据类型();
实现引用类型的步骤
1: 导入包 , 类都是在同一个文件夹,不需要导入包
2: 创建引用类型的变量
3: 变量.类型中的功能
public class TestPhone{
public static void main(String[] args){
Phone p = new Phone();
System.out.println(p); //输出内存的地址
p.color = "土豪金";
p.brand = "爱立信";
p.size = 5.0;
System.out.println(p.color+" "+p.brand+" "+p.size);
}
}
ArrayList集合的使用
1. 导入包 java.util包中
2. 创建引用类型的变量
数据类型< 集合存储的数据类型> 变量名 = new 数据类型 <集合存储的数据类型> ();
集合存储的数据类型: 要将数据存储到集合的容器中
创建集合引用变量的时候,必须要指定好,存储的类型是什么
ArrayList<String> array = new ArrayList<String>();
3. 变量名.方法
注意: 集合存储的数据,8个基本类型对应8个引用类型
存储引用类型,不存储基本类型
import java.util.ArrayList;
public class ArrayListDemo{
public static void main(String[] args){
ArrayList<String> array = new ArrayList<String>();
ArrayList<Integer> array2 = new ArrayList<Integer>();
ArrayList<Phone> array3 = new ArrayList<Phone>();
}
}
集合的遍历,增加,获取
集合的索引从0开始,到 size()-1
方法get(int index)
import java.util.ArrayList;
public class ArrayListDemo_2{
public static void main(String[] args){
ArrayList<Integer> array = new ArrayList<Integer>();
array.add(121);
array.add(125);
array.add(123);
array.add(120);
array.add(128);
for(int i = 0 ; i < array.size(); i++){
System.out.println( array.get(i) );
}
}
}
集合的增删改查
add(int 索引,存储的元素) 将元素添加到指定的索引上
set(int 索引,修改后的元素) 将指定索引的元素,进行修改
remove(int 索引) 删除指定索引上的元素
clear() 清空集合中的所有元素
import java.util.ArrayList;
public class ArrayListDemo_3{
public static void main(String[] args){
ArrayList<Integer> array = new ArrayList<Integer>();
array.add(1);
array.add(2);
array.add(3);
array.add(4);
array.add(2,7);
array.set(0,10);
array.remove(4);
array.clear();
for(int i = 0 ; i < array.size(); i++){
System.out.println( array.get(i) );
}
}
}

浙公网安备 33010602011771号