第二天学习java-(4月18日)-千峰教程

第二天学习java-(4月18日)-千峰教程

【局部变量】
概念:声明在方法的内部的变量,必须先赋值在使用(初始化和赋值)
作用范围:定义行开始到所在代码块结束。
在用一个方法里面(主函数main里面)不能定义重复的变量名,哪怕在main函数里面定义了a然后还在main中的if语句中定义a变量,这样也是不允许的(多个变量在重合的代码块中也是不允许的)
【报错信息】
先定义但是为初始化—报错:未初始化
未定义-----------报错找不到符号 not defind
【循环的概念以及执行流程】
语法:
while(布尔表达式){
//逻辑代码(循环操作)
条件++;
}

【while】
适用于循环次数不明确的情况:while
例如:
class Test{
public static viod main(String[] agrs){
int i = 1;
int sum = 0;
while(i<=100){
sum=sum + i;
}
System.out.print(sum)
}

}

【do while 循环】实际情况就是运用老师批改作业,注意局部变量的使用范围

格式:
do{
逻辑代码
}while(布尔表达式);
不管条件是否符合:都会执行一次之后再继续判断
但是条件依然和 while 一样,次数是一样的
【for 循环的语法】
格式:初始部分只执行一次
for(初始部分;循环条件;迭代部分){
//循环操作
}
例如:
int i =1;
for(;i<=100;){
//循环语句;
i++;
}例如:
for(int i =1;i<= 100;i++){
//循环语句;

}
【流程控制语句 break continue 】
break:循环中一旦遇到break,就会跳出这一层的循环语句
思想一:当问题里有两个两种执行顺序,第一:没有意外情况就去哪不执行完成,并且还会根据所得到的值继续做运算,并且得到值,第二种情况:当中途出现意外的时候然后终止程序,并且不给答复,
方法:建立一个boolean的值,默认为真,加入执行到了不符合条件的就把他变为false,然后在外面一层里面判断语句这个boolean的值
【continue】
跳过本次的循环
【嵌套循环】
概念:在一个完整的循环结构中,嵌套了宁外一个完整的循环结构
需求:打印三行五颗星 把复杂的需求分成小的需求
for(i = 1;i<=3;i++){
for(j=1;j<=5;j++){
System.out.print("*");
}
System.out.println();
}
【方法的概试下述与应用前提】
【方法的定义】
概念:实现特定的功能的一段代码,可以反复使用
定义语法:
public void static void 方法名称(){
//方法主题

}
例如:
public static void printSign(){
for(int i = 1;i<=5;i++){
System.out.print("_");
}
}
定义的位置:
方法定义在类的内部,与main方法并列
【方法的调用】
方法名称(); // printSign();:方法的调用
【方法参数的实参和形参】
形参:形式的参数
实参:实际的参数
【定义语法】
public static void 方法名(形式参数){ //小括号里面专门写形式参数,等价于局部变量的声明(这里的声明作用域也就是这个括号的结束)
//方法主题

}
调用语法:
方法名称(实际参数);//调用参数的实际值这里面的值,就相当于既不变量的赋值
单参数的作用:就是让我们的代码更加灵活
例如:
printSign(5);
public static void printSign(int count){ //传递参数
for(int i = 1;i<=count;i++){
System.out.print("_");

}

}
【多个参数】调用和定义
printSign(2,’$’)//实参和形参都必须按照自己的顺序进行传递类型一致,
public static void printSign(int count,char sign){ //传递参数
for(int i = 1;i<=count;i++){
System.out.print(sign);

}

}
【如何定义参数】登录业务的参数定义
public static boolean login(String username,String password){

}
【返回值和返回结果】return
public static 返回值类型 函数名(){ //类型有 基本 引用 void
//方法主题
return value;//返回值

}
调用的语法:
变量类型 变量 = 方法名称(); //变量的类型和返回的类型必须一致
【返回值】
例如:
public static int add(int x ,int y){ //类型有 基本 引用 void
//方法主题
int sum = x + y;
return sum;//返回值
return x;//这种是错误的,对于一个函数来讲一个函数只能有一个执行的时返回值,

}
int result = add(add(3,5),20); //调用函数
【return 的关键词的两种用法】
return value://表示结束当前方法,并且伴有返回值,返回到调用处(带有返回值的时候使用)
注意:在return 的方法后面不能出现其他语句,不然编译的时候会报出错误,爆出的错误为:无法访问的语句;return关键字往往是最后一行逻辑代码
【应用在没有返回类型的方法中】
return 😕/表示结束当前的方法,直接返回到方法调用处
例如:
public static void show(){
for(int i = 1;i<=10;i++){
if(i == 5){
return;

	}

}

}
break:结束前的循环,
return:结束当前的方法,

【方法的多级调用和递归调用】
多级调用:方法调用方法,方法调用方法
【递归调用】
方法无限的调用方法的时候(有入口没有正确的出口条件):会报出错误:java.lang.StackOverflowError 的类的错误(内存溢出)
【数组的概述】
数组:一组连续的存储空间,存储多个相同的数据类型的值
数组的特点:类型长度相同 ,长度固定(数组长度固定了之后是无法改变的)
【数组的创建】
格式: 第一种:类型[] 变量名 = new int[5]; //创建一个长度为5的数组的连续空间
第二种:int intValue=arr[5];
第三种:int[] x={1,2,3,4};
数组中的每一个数据格称为:“数组元素”
对每个元素进行赋值或者取值的操作被称为"元素的访问"
访问数组的时候需要使用下标,(从0开始,一次+1,自动生成)
访问的语法:数组名[下标];//例如 a[0]=10; //存 a的第一个下标内存里面的值为10 ,取值的 a[0]; //取值
【数组的使用】
int[] a=new int[5]; //创建数组
a[0]=4;//依次赋值
【下标的有效范围与越界异常】
数组下标越界(不管是访问还是赋值都是存在的)会报出:java.lang.ArrayIndexOutOfBoundsException:5 //报出的错误
【数组的遍历】
通过for循环 从零开始
动态获取数组的长度: 数组名字.length; :a.length;//获取数组的长度
【数组元素(定义为 整形)的默认值为0】
在数组中,当没有给数组赋值的时候,直接取值的话默认值为零 (整形的时候)
当时double形的时候:数组的默认值为 0.0
整数的时候默认值:0
小数:0.0
字符:\u0000
布尔型:false
其他:null(除了八种基本类型的其他引用类型)
【数组创建的多种方式】
先声明、再分配空间
数据类型[] 数据名;
数组名 = new 数据类型[长度]
例如:
int[] arry;
arry=new int[5];
声明并且分配空间
数据类型[] 数组名 = new 数据类型[长度];
int[] i = new int[5];
声明并且赋值
数据类型[] 数组名 =new 数据类型[]{value1,value2};
例如:
int[] a = new int[]{11,22,33};
声明并且赋值
数据类型[] 数据名 = {value1,value2};//显示初始化 注意不可换行
int[] a ={11,2,3};否则的编译的时候会报错
【需求:给定一个数组 ,并且输入一个值,验证这个数是否存在于这个数组中并且返回其下标】
Scanner input = new Scanner(System.in);
int index = -1;
int n= input.nexInt();
int[] a = new int[]{1,2,3,4,5};
for(int i = 0; i <a.legth;i++){
if(n==a[i]){
index = i;
System.out.print(“存在”);
break;
}
}
if(index = -1){
System.out.print(“不存在!”)
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值