Java基础
流程控制语句
1、引用数据类型(数组,类, 接口)
Scanner 类 : 接受用户的输入
1.导包 import (指定类所在的文件夹)
2、创建Scanner 变量
类名 变量名 = new 类名();
3、使用Scanner的功能,完成键盘输入。
变量名.功能的名字();
nextInt(); 接受用户输入的整数类型;
next();接受用户输入的字符串;
Random;随机数
1、导包
2、Random rd = new Random ;
3、nextInt(范围 int 变量);产生的随机数,包含0000000,当是不包含变量
nextDouble();产生小数,产生0-1范围的随机数。
impotr java.util.Scanner;
public class hello(){
Scanner sc = new Scanner(System.in);
public static void main (String [] args ){
System.out.println("请输入一个整数:");
sc.nextInt();
System.out,println("输入的值为:"+sc);
}
}
2、流程控制语句------if语句
if (比较表达式) {
执行体;
}
执行流程:先计算比较表达式的值,返回值为
true还是false ,如果是true 执行,如果是false 不执行;
if(比较表达式){
执行体
}else{
执行体
}
当if 的条件为true式,执行if语句,当if 的条件为false式,不执行if语句。
if(比较表达式){
语句1;
}else if(比较表达式2){
语句2;
}else if(比较表达式3){
语句3;
}
…
else{
结束语句;
}
首先计算表达式1看其返回值 式true还是false
如果是true,执行语句1,如果false继续计算表达式2,看其返回值true还是false,
如果是true,执行语句2;
如果返回值全是false,执行语句n;
三元表达式和if语句的区别:
结果 和重复操作。
使用if语句还是三元表达式,如果判断表达式多的话使用if
三元表达式,必须有结果,if可以没有。
3、流程控制语句------while循环
循环:可以让一段代码反复 的执行。
条件:当条件为true,执行循环体。执行完循环体后,再次执行while中的条件,知道条件为false是结束。
while(条件){
循环体;
}
注意事项;循环三大条件:初始化,判断条件,自增
案例:输出1-10的整数
4、流程控制语句------do-while循环
do(){
循环体
}while(条件);
特点:无条件先执行一次。、
先执行哦一下次,然后判断条件为true,继续执行循环体,如果条件为false,不执行.结束。
5、流程控制语句------for循环
for(初始化变量;循环条件;自增量){
循环体;
}
break关键字
作用:跳出循环
必须写在循环或者选择结构
无法单独使用,必须将break关键字写入 结构和循环语句
continue关键字
作用:跳出本次循环,继续下次循环。
必须写在循环语句当中。
死循环
6、选择结构----SWITCH…CASE语句
switch(表达式){
case 常量:
执行的语句;
break;
。。。。
default :
要执行的语句;
break;
}
执行流程:表达式和case后面的常量进行比较,那个相同执行那个,遇到break,全部结束。
case的穿透性
数组
一维数组
创建数组:数据类型[ ] 数组名 = new 数据类型 【元素的个数或者长度】;
数据 类型:数 组中储存元素的数据类型
【】:数据
数组名:自定义创建标识符
new:创建容器的关键字
【】:数组的意思
元素的个数:表示元素可以储存多少个数据(定长)
数组是一个容器,存储到数组中的元素都有,都有自己编号,称之为索引,小标,最小值为0,最大值为长度-1.数组名【索引】来访问每个数组的值
最小索引是0,最大索引是()leangth-1
数组的赋值:数组名【索引】 =值;
数据类型 【】 变量名 = new 数据类型【】{元素1,元素2,元素3.。。。。。}
数据类型 【】 变量名= {元素一,元素2,元素3。。。。。。};
String [] array = new String [] {"yi","da"};
String [] array1 = {"w","s","a"};
数组遍历:将数组中所有的元素全部获取。
for(int i=0;i<arrar.length;i++){
System.out.println(array[i]);
}
二维数组
定义方式:
数据类型【】【】 数组名 = new 数据类型 【2】【3】;
[2]表示一个二维数组有2个一维数组;
【3】表示在两个一维数组中,每个数组的长度为3;
数据类型【】【】 数组名 = new 数据类型 【】【】{}{};
声明,初始化,赋值,取值,长度,遍历;
方法
定义:就是解决问题的办法。
为什么要用方法:提高代码的复用性。
方法的格式:
修饰符 返回值类型 方法名(参数类型 参数1,参数2){
方法体 ;
return 返回值;
}
修饰符:public static
返回值类型:返回结果的数据类型,若无返回值类型则写 void。
方法名:符合标识符命名的规范。
参数类型:参数的数据类型。
参数名:变量名。
参数:实参(实际参数):实际参加运算的。
形参(形式参数):方法定义上用于接受实际参数的。
return :有结束方法的意思,
返回值:方法的结果,由return返回给调用者
方法写到自定义方法之外:
public class waie(){
public static void main(String args[]){
System.out.println(123);
int a = getArea(10,89);//调用方自定义方法
}
/*
要求;长方形的面积
返回值:?
是否需要未知数=参数
*/
public static int getArea(int w ,int h ){
int area = w*h;
return area;
}
}
定义方法,键盘接受,并且生成1-100 的整数
/*
要求:生成1-100 的整数
返回值 ?
=参数
*/
public static void main(String args[]){
System.out.println(123);
int a = getArea(10,89);//调用方自定义方法
System.out.println(a);
}
public static int getArea(){
Random rd = new Random();
int area = rd.nextint(101);
return area;
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zDW3Jegx-1603850412205)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201026160712181.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5QbhMyhX-1603850412208)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201027094059365.png)]
方法重载(overload)
在同一个类中,允许出现同名的方法,只要参数列表不同即可。
参数列表不同:个数不同。数据类型不同,顺序不同。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Saf4Xcvl-1603850412210)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201027104133578.png)]
/*作业:随机点名器
要求:方法
1:利用数组存储学生的姓名
2:遍历学生的姓名(数组)
3: 随机数做索引,找元素。*/
package Var;
import java.util.Random;
public class Var05 {
public static void main(String[] args) {
String [] array = new String [5];
addStudent(array);
printlnStudent(array);
System.out.println("---------------");
rdStudent(array);
}
/*
存储学生姓名
返回值:无
未知数:有
*/
public static void addStudent(String [] array){
array [0] = "皮卡丘";
array [1] = "喷火龙";
array [2] = "妙蛙种子";
array [3] = "杰尼龟";
array [4] = "卡比兽";
}
/*
遍历学生的姓名(数组)
返回值:无
未知数:有
*/
public static void printlnStudent(String [] array){
for(int i=0; i<array.length;i++){
System.out.println(array[i]);
}
}
/*
随机数做索引,找元素
返回值:无
未知数:有
*/
public static void rdStudent(String [] array) {
//随机数
Random rd = new Random();
int mo = rd.nextInt(array.length);
System.out.println("随机出现的名字是:"+array[mo]);
}
/*
商品的库存管理
功能:根据用户的选择清单
1、展示所有库存
2、修改库存数量
*/
package Var;
import java.util.Scanner;
/*
* 商品库存管理
* 要求如图所示:
*
* */
public class var06 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String [] mac={"MAC","HP","DELL"} ;
double [] re={14.2,42.5,75} ;
double[] prize={5,2 ,89} ;
int []count= {100,200,250};
while (true) {
System.out.println("----------------商城库存清单--------------");
System.out.println("1.展示所有商品");
System.out.println("2.修改库存数1量");
System.out.println("3.退出");
mu(mac, re, prize, count);
}
}
public static void mu(String [] mac,double [] re,double[] prize,int []count){
Scanner sc = new Scanner(System.in);
System.out.println("请选择:");
int a=sc.nextInt();
switch (a){
case 1:
show(mac,re,prize,count);
break;
case 2:
ptin(mac,count);
break;
case 3:
Exit();
break;
default:
System.out.println("输入有误,请重新输入:");
}
}
//
/*
展示所有的商品
返回值:无
未知数:有:数组
*/
public static void show(String [] mac,double [] re,double[] prize,int []count){
System.out.println("----------------商城库存清单--------------");
System.out.println("品牌型号 尺寸 价格 库存数");
int sum =0;
double sum1=0;
int i;
for ( i =0;i<mac.length;i++){
System.out.println(mac[i] +" "+re[i]+" "+prize[i]+" "+count[i]);
sum += count[i];
sum1 =prize[i]*count[i];
}
System.out.println("------------------------------------------------------------");
System.out.println("商品库存总数:"+sum);
System.out.println("商品总金额:"+sum1);
}
public static void ptin(String [] mac,int []count){
Scanner sc = new Scanner(System.in);
System.out.println("是否确认修改: 1、是 2、不是");
int x=1;
int y =2;
int da = sc.nextInt();
int i ;
if(da==x){
for( i =0; i<mac.length;i++){
System.out.println("输入修改品牌:");
String num = sc.next();
mac[i]= num;
System.out.println("输入修改数量:");
int sum2= sc.nextInt();
count[i]=sum2;
System.out.println("确认修改商品"+mac[i]+"的数量为"+count[i]);
}
System.out.println("修改成功!");
}else{
System.out.println("修改失败!");
}
}
public static void Exit(){
return;
}
}
mac[i]= num;
System.out.println("输入修改数量:");
int sum2= sc.nextInt();
count[i]=sum2;
System.out.println("确认修改商品"+mac[i]+"的数量为"+count[i]);
}
System.out.println("修改成功!");
}else{
System.out.println("修改失败!");
}
}
public static void Exit(){
return;
}
}