Java学习
近日的学习进度十分的缓慢,但是心里只是着急也起不了什么实质性的作用,学习讲究的是要稳,基础扎实过硬,后面的学习才会更有第七,所以一定要沉住气,脚踏实地,再为自己加一次油。
1.选择结构和循环结构
接着上次的if, else ,if-else 的判断语句的学习后,我们还要学习一种选择结构–if-else的判断以及switch语句。
iif-else的扩展语句:
if (判断条件1){
执行语句1;
}else if(判断条件2){
执行语句2;
}
…
}else if(判断条件n){
执行语句n;
}else{
执行语句n + 1;
}
下面列出一个简单的练习:
赋给x不同的值选择不同的运算方式,
public class Demo04IfElseExt{
public static void main(String[] args){
int x = 10;
int y;
if (x >= 3){
y = 2 * x + 1;
}else if (-1 < x && x < 3){
y = 2 * x;
}else {
y = 2 *x - 1;
}
System.put.println("结果是:" + y);
}
}
选择语句–switch
switch语句格式:
switch(表达式){
case 常量值1:
语句体1;
break;
case 常量值2;
语句体2;
break;
…
default:
语句体 n +1;
break
}
switch语句的常见的注意事项:
1.多个case后面的数值不可以重复
2.switch后面的小括号中只能是以下的数据类型;
基本数据类型:byte/short/char/int
引用数据类型:String字符串、enum枚举
3.Switch可以灵活转换,前后顺序可以颠倒,break可以省略,但是会出现穿透。
匹配哪一个case就从哪一个位置往下执行,直到遇到了break或者整体结束为止。
简单的switch语句的练习:
public class Demo11Switch{
public static void main(String[] args){
int num = 1;
switch (num){
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;
}
}
}
循环语句是Java学习中很常见的一种基础的必备的语句,其中常见的有 For语句,While语句,do-while语句,
接下来分别对其进行学习和练习。
for 语句
for语句的基本格式写法
for ( 初始化表达式;条件判断;步进语句){
循环体;
}
练习如下`
/*for (初始化表达式;条件判断;步进语句){
循环体
}*/
public class Demo01For{
public static void main(String[] args){
for (int i = 1; i <=9999; i++){
System.out.println("我爱你" + i );
}System.out.println("永远爱你,姣姣!!!!!");
}
}
public class Demo02For{
public static void main(String[] args){
int sum = 0;
for (int i = 1 ; i <= 100; i++){
if (i % 2 == 0){
sum = sum + i ;
}
}System.out.println(sum);
}
}
whlie 语句
while语句的基本格式:
标准格式:
while (条件判断){
循环体
}
扩展格式:
初始化语句;
while (条件判断){
循环体;
步进语句;
}
进行练习如下:
public class Demo01While{
public static void main(String[] args){
int i = 1;
while (i <= 9999){
System.out.println("我真的超级爱你" + i);
i++;
}System.out.println("怎么都爱不够!!!!!!!!!");
}
}
do-while语句
do-while的语句的基本格式:
do {
循环体
}while(条件判断);
扩展格式:
初始化语句
do {
循环语句;
步进语句;
}while(条件判断);
练习如下:
public class Demo01DoWhile{
public static void main(String[] args){
int i = 1;
do {
System.out.println("我再一次来爱你了!!姣姣"+ i );
i = i + 1;
}while (i <= 9999);
System.out.println("okokokokokokookokokokokokQ!!!");
}
}
ps:凡是循环次数确定的场景多用for循环,否则多用while循环。
练习题:用循环语句求出1–100的偶数和:
/*
题目:求出1-100的偶数和
*/
public class Demo01HundreSum{
public static void main(String[] args){
int i = 1;
int sum = 0;
while ( i <= 100){
if (i % 2 == 0){
sum = sum + i;
}
i++;
}System.out.println(sum);
}
}
循环控制以及死循环:
在循环语句中,我们还会用到两个循环控制的语句:break 和 continue
break语句:
1.可以用在switch语句中,一旦执行,整个switch语句立刻结束。
2.用在循环语句中,一旦执行,整个循环语句立刻结束,打断循环。
continue语句:
一旦执行,立刻跳过当前次的循环剩余内容,马上开始下一次循环。
**死循环:
死循环的标准格式:
while (true){
循环体
}**
循环嵌套
嵌套循环的格式:
for(初始表达式;循环条件;步进表达式){
for(初始表达式;循环条件;步进表达式){
执行语句;
}
}
下面进行一个有趣的练习,了解嵌套循环的含义:
时,分,秒的循环
public class Practice{
public static void main(String[] args){
for(int hour = 0;hour < 24; hour++){
for (int minute = 0;minute < 60;minute++){
for (int second =0;second < 60; second++){
System.out.println(hour + "时" + minute +"分" +second +"秒");
}
}
}
}
}
2.方法的入门以及调用
在Java语言中,方法一直只一个很重要也很常见的,下面对其进行学习和说明:
方法其实就是若干语句的集合。
方法好比一个工厂。
蒙牛工厂 原料:奶牛、饲料、水
产出物:奶制品
钢铁工厂 原料:铁矿石、煤炭
产出物: 钢铁建材
参数(原料):就是进入方法的数据。
返回值(产出物):就是方法中出来的数值。
定义方法的完整格式:
修饰符 返回值类型 方法名称(参数类型 参数名称,…){
方法体
return 返回值;
}
修饰符:现阶段的固定写法,public static
返回值类型:也就是方法最终产生的数据结果是什么类型
方法名称:方法的名字,规则和变量一样,小驼峰
参数类型:进入方法的数据是什么类型
参数的名称:进入方法的数据对应的变量名称
ps:参数如果有多个,使用逗号进行分隔
方法体:方法需要做的事情,若干行代码
return:两个作用,第一停止当前的方法,第二将后面的返回值还给调用处
返回值:也就是方法执行最后产生的数据结果
注意事项:
return后面的“返回值”,必须和方法名称前面的“返回值类型”,保持对应。
定义一个两个int数字相加的方法。三要素:
返回值类型:int
方法名称: sum
参数列表: int a ,int b
方法的三种调用格式:
1.单独调用:方法的名称(参数);
2.打印调用:System.out.println(方法名称(参数));
3.赋值调用:数据类型 变量的名称 = 方法名称(参数);
下面列举一个简单的方法调用例子:
public class Demo02MethodDefine {
public static void main(String[] args){
//单独调用
sum(10,20);
System.out.println("-----------");
//打印调用
System.out.println(sum(10,20));//30
System.out.println("------------");
//赋值调用
int num = sum(15,20);
System.out.println("变量的值:" + num);
}
public static int sum(int a, int b){
System.out.println("方法执行");
int result = a + b;
return result;
}
}
有参数和无参数:
有参数:小括号当中有内容,当一个方法需要一些数据条件,才能完成任务的时候,就是有参数,
例如两个数据相加,必须知道两个数字各自是多少,才能相加。
无参数:小括号当中留空。一个方法不需要任何数据条件,自己就能独立完成任务,就是无参数,
例如定义一个方法,打印固定10次HelloWorld。
/*
有参数:小括号当中有内容,当一个方法需要一些数据条件,才能完成任务的时候,就是有参数,
例如两个数据相加,必须知道两个数字各自是多少,才能相加。
无参数:小括号当中留空。一个方法不需要任何数据条件,自己就能独立完成任务,就是无参数,
例如定义一个方法,打印固定10次HelloWorld。
*/
public class Demo03MethodParameter {
public static void main(String[] args){
method1(25,30);
method2();
}
//两个数字相乘,做乘法,必须知道两个数字各自是多少,否则无法进行计算
//有参数
public static void method1(int a, int b){
int result = a * b;
System.out.println("结果是:" + result);
}
//打印输出固定10次文本串
public static void method2(){
for (int i = 0; i < 10; i++) {
System.out.println("我爱你!!");
}
// for (int i = 1 ; i <= 10; i++){
// System.out.println("HelloWorld!!");
}
}
有返回值和无返回值
对于有返回值的方法,可以使用单独调用,打印调用和赋值调用;
对于无返回值的方法,只能使用单独调用,不能使用打印调用或者赋值调用
针对此处的理解,进行一个练习题
题目要求:定义一个方法,用来【求出】两个数字之和
题目变形:定义一个方法,用来【打印】两个数字之和
public class Demo04MethodReturn {
public static void main(String[] args) {
//我是main方法,我来调用你。
// 我调用你,你来帮我计算一下,算完了之后,把结果告诉我的num变量
float num = sum(15,30);
System.out.println("结果是:"+ num);
System.out.println("------------");
printsum(15,5);
}
//我是一个方法,我负责两个数字相加。
//我有返回值int,谁调用我,我就把结果告诉谁
public static float sum(int a, int b) {
int result = a + b;
return result;
}
//我是一个方法,我负责两个数字相加
//我没有返回值,不会把结果告诉任何人,而是我自己进行打印输出。
public static void printsum(int a, int b){
int result = a + b ;
System.out.println("结果是:" + result);
}
}
其中,求出和打印是两种完全不同的概念,一种需要将算出的值送回给main函数,而打印则不需要,自己留着自己的结果,自己打印输出。
本次的学习就到这里,下次将对本方法的学习进行几个练习题加深理解,并进入到方法重载的学习。