0609总结

一、环境配置

1、安装JDK
2、①设置环境变量:我的电脑→属性→高级系统设置→高级环境变量→复制bin路径添加到Path
②新建系统变量 JAVA_HOME=到bin之前路径
③删除第一步中Path中的bin路径;Path中新增 %JAVA_HOME%bin

二、运算符和控制语句

运算符:在表达式中用来表示运算的符号
一、算术运算符:+、-、/(除法)、*(乘法)、%(取余)、–、++i、i++(后导自增,先使用后自增)

二、三目运算符/条件运算符
:条件表达式?结果表达式1:结果表达式2;
流程:如果条件表达式为true,则整个结果表达式为1,否则为结果表达式2
比较两个数是否相等

int d = 30;
int e = (a>b?a:b)>d?(a>b?a:b):d;
System.out.println(e);
int a = 10;
int b = 20;
boolean res = a==b?true:false;//先判断a是否等于b,如果成立输出true

四、扩展运算符
+=、 -=、*=、/=、 %=
含义:对变量进行操作后,值再次赋给变量

int a = 1;
a += 3 ;
结果:a=1+3=4

五、比较运算符
==、!=、>、<、>=、<= 比较两个值是否相等,不相等……
比较结果为boolean类型的值true或flase
六、逻辑运算符

或且& | 异或 ^ ! 短路与 && 短路或||

含义:逻辑运算符用于连接boolean 类型的表达式,结果亦为boolean值

& 与|且:全真为真,否则为假

| 或 :有真为真,否则为假

! 非 :真为假,假为真

^ 异或:相同为假,相异为真

&& 短路与(全都要成立):全真为真,遇假短路

|| 短路或(全都不能成立):全假为假,遇真短路

public class test1{
	public static void main(String[]args){
		boolean b3 = (1>2)&&(3>2);//表达式1为假,整个表达式就是假。dead code(死的代码)
		System.out.println(b3);
		boolean b4 = (1>2)||(3>2);//表达式1结果可以确认整个结果
		System.out.println(b4);
b3 false b4 ture

二、键盘录入

实际开发中,,数据是变化的,为了提高程序的灵活性,我们加入键盘录入数据。

步骤:1:导包
import java.util.Scanner;
位置:在package下面,并且在class的上边

2:创建对象/工具
Scanner sc = new Scanner(http://System.in);

3:获取数据

int num = sc.nextInt();
package com.shsxt;

//引入scanner工具类

import java.util.Scanner;

public class Test06_scanner {

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入你的年龄:");
		int age=sc.nextInt(); 
		System.out.println("请输入你的姓名:");
		String name=sc.nextLine(); 
		System.out.println("请输入你的爱好:");
		String favor=sc.nextLine();
		System.out.println("*****************");
		System.out.println("姓名:"+name);
		System.out.println("年龄:"+age);
		System.out.println("爱好:"+favor);
	}
}

三、随机函数

随机生成函数:Math.random()
此函数的返回值为double类型,其取值范围[0.0,1.0)
随机数公式:[min, max] == Math.random() * (max-min+1) + min Math当中的常用函数
绝对值函数 Math.abs(); 平方根函数 Math.sqrt();

package com.shsxt;
import java.util.Random;

public class Test07_random {
	public static void main(String[] args) {
		Random rand = new Random();
		int num = rand.nextInt();
		int num1 = rand.nextInt(100);
		System.out.println(num);//随机的数,
		System.out.println(num1);
	}
}

四、流程控制语句

几乎在所有的语言理都存在大同小异的流程控制语句,一般分为三种
(1)顺序结构 从上往下,依次执行 (2)选择结构 按照不同的选择,执行不同的代码(3)循环结构 做一些重复的代码
一、顺序控制
JAVA 的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
二、选择控制
1、单分支
if(表达式){
语句
}

    //注意:省略花括号,只会影响它下面的第一行语句
 	//表达式成立,则执行语句;如果不成立,不执行
public static void main(String[] args) {
		int a = 10;
		if(a<6){
			int b = 1;
			b++;
			System.out.println("你好厉害呀");
		}
		if(a<8){
			int c = 1;
			c++;
			System.out.println("到最后还是我厉害");	
		}
		if(a>9){
			System.out.println("到底谁厉害");	
		}
	}
	//输出结果为“到底谁厉害”

双分支

/*
 * 	双分支  
 * 
 * 	if(表达式){
 * 		
 * }else{
 * 	
 * }
 * 
 */
	public static void main(String[] args) {
		int score = 80;
		if(score>=60){
			System.out.println("万事大吉");
		}else
			System.out.println("不及格,你可要注意了");
			System.out.println("你看着办");
	}
}
//输出结果:万事大吉
//         你看着办

多分支

//评判学生的分数等级
public static void main(String[] args) {
		int score = 80;
		if(score>90){
			System.out.println("优秀");
		}else if(score>=80&&score<90){
			System.out.println("中等");
		}else if(score<80&&score>=70){
			System.out.println("良");
		}else if(score<70&&score>=60){
			System.out.println("及格");
		}else{
			System.out.println("上点心了");
		}
	}
	//输出结果:中等

2)switch选择
switch选择也称定值选择,做的是等值比较。 根据表达式值的不同执行许多不同的操作,
switch 语句:case 标签必须是整数(byte,short,int,char)或枚举或字符串
switch:也可以作为选择判断,但是是等值比较
break:用来终止swtich语句
switch和if的区别:switch的可以完全被if代替,但是if的不一定被switch替代。if可以进行范围判断

public static void main(String[]args){
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入一个月份");
    int month = sc.nextInt();
    switch(month){
        case 3:
        case 4:
        case 5:
            System.out.println("春天");
            break;
        case 6:
        case 7:
        case 8:
            System.out.println("夏天");
            break;
        case 9:
        case 10:
        case 11:
            System.out.println("秋天");
            break;
        case 12:
        case 1:
        case 2:
            System.out.println("冬天");
            break;
        default:
            System.out.println("没有这个月份");

    }
    }

3、循环结构
一、循环控制
循环即重复地执行一些相同或类似的操作

1、while循环
当条件满足时执行,也叫当到型结构

**while(条件){
循环体
迭代因子
}
**

public static void main(String[] args) {
        int i = 1;//初始化数据
        while (i >= 5) {//表达式  用来判断是否需要执行语句的
            System.out.println("你好");
            i = i + 2;//迭代因子
        }
//以上输出无结果(while先判断,再执行,若是判断不成立直接退出循环)
    System.out.println("**************");

    int j = 5;
        do {
        System.out.println("你好啊");
        j = j - 1;//迭代因子
        }while(j>=1);
    }
}

2、do…while
初始语句
do{
循环体
迭代因子
}while(布尔表达式); //分号不能缺少
执行循环,直到条件不满足退出循环。先执行循环体,再判断
循环体至少执行一次

for 循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构 for 循环在执行条件测试后,
先执行程序部分,再执行迭代因子( ( 步进) ) 。
初始化部分、条件判断部分和迭代因子可以为空语句,但以“;”分开,下面的语句表示无限循环
for(初始化的表达式;条件判断语句;迭代因子){循环体}

/*
 * 	for(初始化的表达式;条件判断语句;迭代因子){循环体}
 * 	""在java中用来表示String,也就是字符串
 */
public class Test13_for {
	public static void main(String[] args) {
		//int i = 1;
		for(int i=1;i<=5;i++){
			System.out.println("Hello World");
		}
		System.out.println("************");
		
		for(int i=1;i<=10;i++){//这里的i是局部变量,只在当前的for循环语句中使用
			System.out.println(i);
		}
		//System.out.println(i);//i是全局的,所以查找的就是全局的i。局部的i影响了全局的i		
		for(int i=10;i>=1;i--){
			System.out.println(i);
		}
	}
}

循环嵌套
循环嵌套指的是在一个循环语句内部再嵌套一循环或者多个循环,类似if的嵌套
需求:请在控制台输出一个5行5列的矩形(用* 来表示)
1、i=1的时候,表达式成立,执行循环体,
1)此时j=1,符合条件,执行循环体
2)j=2,符合条件,执行
3)j=3,符合条件,执行
。。。
2、i=2的时候,表达式成立,执行循环体
1)此时j=1,符合条件,执行循环体
2)j=2,符合条件,执行
3)j=3,符合条件,执行
。。。

public class test_for_if {
    public static void main(String[]args){
        for(int i=1;i<=5;i++){
            for(int j=1;j<=5;j++){
                System.out.print("*");
            }
            System.out.println("");
        }
    }
}

break&continue

  1. break:终断
    A:用在循环和switch语句中,离开此应用场景无意义。
    B:作用:跳出单层循环

  2. continue:继续
    A:用在循环中,离开此应用场景无意义。
    B:作用:跳出单层循环的一次(本次),继续下一次循环

在1–10之间,输出前7个数

public class test_break_continue {
    public static void main(String[]args) {
        for (int i = 1; i <= 10; i++) {
            if (i == 7) {
                continue;//当i==7的时候,不再执行循环体后面的内容,而是执行下一次循环
            }
            System.out.println(i);
        }
        //输出结果为12345689没有7,因为当i==7的时候跳过了本次循环,没有执行循环体后面的内容
        System.out.println("**************");
        for(int i =1;i<10;i++){      //在1--10之间,输出前7个数
            if(i>7){
                break;
            }
        System.out.println(i);
        }
    }
}

四、死循环
死循环是指条件永远为true,注意死循环不一定是错误的,如服务器就是一个大大的死循环,不间断服务着。
最简单的死循环格式

for(;;){}
public static void main(String[] args) {
		//for(;;){} 最简单的死循环
		int a = 1;
		//死循环
		while(true){
			System.out.println("你真好看");
			a++;
			if(a>10){
				break;
			}
			System.out.println(a);
		}
	}
	//输出结果:你真好看2你真好看3你真好看……10你真好看

四、方法,void,return,递归

1、方法:就是 给能够解决问题的多行代码取了一个名字的功能块 ,方便我们多次使用。
形参列表:参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开。

方法的分类:

返回值的类型:基本数据类型,引用数据类型

void :无返回值的时候使用

public class Method02 {

public static void main(String[] args) {
	//main方法中的前半部分代码
	print();
	//main方法中的后半部分代码
	if(isTrue()){
		System.out.println("判断结果为真");
	}
	add(1);
	System.out.println(cal(10,3));
	
}

//无参无返回值方法
public static void print(){
	System.out.println("输出语句");
	return;
}

//无参有返回值方法
public static boolean isTrue(){
	//伪代码,用来判断数据,判断结果是否为真
	return true;
}

//有参无返回值方法
public static void add(int a){
	a++;
	//什么都不操作
}
//有参有返回值方法
public static int cal(int a,int b){
	return a-b;
}

//
public static void compare(int a,int b){
	if(a>10){
		System.out.println("a是大于10的数");
		return;
	}
	if(b<9){
		System.out.println("b是小于9 的数");
		return;
	}
}

}
2、return关键字
return 为 跳出方法 或 返回值。 注意:在一个作用域内 return 之后不能再存在代码 return语句:

①return语句可以出现在任何(有返回值和没有返回值)方法中
②return语句 在没有返回值的方法中,用来提前结束方法
③return语句 在有返回值的方法当中,有两个作用:提前结束方法,送出结果。
④一个方法只能执行一条return语句
⑤在一定会被执行的return语句后,写的语句为不可达语句,程序自动检测这种语句,永远不会被执行到,报错。

⑥在循环中无条件的break后写语句和在死循环(没有break来结束的死循环)后写语句,都会出现不可达语句
编写一个方法时,请思考这四个方面:
1)、确定方法的
功能

2)、确定方法的名称
3)、此方法能否独立运行,不能独立,需要外界数据参与运算,确定形参。
4)、此方法完成后,其结果是否直接影响调用处的后续操作,如果影响,确定返回类型,不影响则为 void

3、签名(signature)
方法的签名,确保在一个类中的唯一性方法的签名只看方法名和形参( 类型个数和顺序) ,
与修饰符 返回类型和形参名无关。

重载(method invoke)
一般来说,功能点相同的方法才适合使用重载,重载必须满足如下要求:

①必须是同一个类
②方法名必须相同
③参数列表不同

注意:方法重载与返回值无关。

参数列表不同:
参数的个数不同。
参数的对应的数据类型不同。
参数的顺序不同(不同类型的可以交换位置)

方法重载:
出现的情况:同一个动作,但是形参的个数不一样,所以出现方法重载
两个相同三个不同:
同类(在同一个类中)同名(方法的名字相同)
形参的个数、类型以及顺序
跟返回值无关

  • 面向对象(方法重写)

  • `public static void main(String[] args) {
    //求2+3的和
    int result = add(2,3);
    System.out.println(result);
    //求2+3+4的和
    //result = add(2,3,4);
    System.out.println(result);
    //调用double的参数
    System.out.println(add(1.0,2));
    System.out.println(add(1,2.0));

    }

    //加法的方法定义
    public static int add(int a,int b){
    return a+b;
    }

    public static double add(double a,double b){
    return a+b;
    }
    `
    数组
    数组是相同类型数据的有序集合。这些按序排列的同类数据元素的集合称为数组“[]”。数组长度确定之后不能改变
    数组声明格式:
    数据类型[] 数组名称; --推荐使用
    double [] arr; --推荐使用

数据类型 数组名称[];
char arr[];

动态初始化:
数据类型[] 数组名=new 数据类型[长度];
int[] data = new int[5];
静态初始化
数据类型[] 数组名=new 数据类型[]{值1,值2…}; //int[] date = new int[]{1,2}
数据类型[] 数组名={值1,值2…}; --当面的简写方式 //int2[] date = {1,2}

普通for循环
for(int 索引=0;索引<长度; 索引++){ for(int i=0;i<arr.length;i++){
数组名称[索引] = 值; System.out.println(arr[i]);
}

int[] arr={1,2,3,4}; 
  //1.遍历数组---基本for循环
 for(int i=0;i<arr.length;i++){    
  //变量i代表索引/元素的下标
    System.out.println(arr[i]);
} 

增强for循环
for(元素类型 局部变量 : 数组){
局部变量–>为数组中的每一个元素值,从左向右以此获取 }

遍历数组—增强for循环 for(int i : arr){
System.out.println(i); //i中存储数组的元素值,非索引 }

动态初始化
int[] arr = new int[3];

Arrays中常用方法:
打印数组 ----toString方法(打印数组)
比较两个数组是否相同 ----equals方法(比较两个数组是否相同 )
数组排序 ----sort方法 (数组排序 )
数组查找 ----binarySearch 方法(数组查找)
数组拷贝 ----copyOf方法(数组拷贝)
数组拷贝 ----copyOfRange方法(数组拷贝)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值