java入门-----基本语法之语句的使用

简介: java入门-----基本语法之语句的使用

选择结构语句:

if条件语句:

if语句是指如果满足某种条件,就进行某些处理

if(条件语句)//判断语句
{
代码块//执行语句
}

举例:

public class HelloWorld{
    public static void main(String[]args) {
        int x = 8;
        if (x < 10)//x满足小于10,则if执行语句
            System.out.println("x 是个位数");
    }
}

输出:

x 是个位数

if…else语句:

满足if后面的条件,就执行if语句中的处理,否则执行else中的

 if(条件语句)//判断语句
{
 代码块//执行语句
   }
  else
 {
   代码块//执行语句2
 }

举例:

public class HelloWorld{
    public static void main(String[]args) {
        int x = 19;
        if (x < 10)//x<10不满足,执行else
            System.out.println("x 是个位数");
        else
        {
            System.out.println("x 不是个位数");
        }
    }
}

输出:

x 不是个位数

if…else if…else语句:

满足那个判断条件,就执行相应的代码块,否则执行else

 if(条件语句)//判断语句
 {
代码块//执行语句
 }
 else if(判断条件2)
 {
代码块//执行语句2
}
else if(判断条件n)
{
 代码块//执行语句n
}
else
{
执行语句n+1
}

举例:

public class HelloWorld{
    public static void main(String[]args) {
        int x = 100;
        if (x < 10)
            System.out.println("x 是个位数");
        else if(x>10&&x<100)
        {
            System.out.println("x 是两位数");
        }
        else
        {
            System.out.println("x 是三位数");
        }
    }
}

输出:

x 是三位数

三元运算符:

在C语言中,我们就已经接触过三元算术符,在Java中,它的使用方法和C语言中相同

举例:

public class HelloWorld{
    public static void main(String[]args) {
       int a=10;
       int b=3;
       int max=a>b?a:b;
       System.out.println("10和3中较大的数是"+max);
    }
}

输出:

10和3中较大的数是10

使用三目运算符需要注意以下几点:

1:条件运算符“?”和“:”,是一对运算符,不能分开单独使用。


2:条件运算符的优先级低于关系运算符与算术运算符,但高于赋值运算符


3:条件运算符可以进行嵌套,结合方向自右向左,例如,a>b?a:c>d?c:d应该理解为a>b?a:(c>d?c:d),这也是条件运算符的嵌套情形,即三元表达式中的表达式2又是一个三元表达式

Switch语句:

在C语言中,Switch后面的表达式必须是基本数据类型中的整型类型使用switch,这些类型包括int、char等

在JDK5之前,Switch语句中的表达式可以是byte,short,char,int类型的值,如果传入其他类型的值,程序会报错


JDK5引入了新特性,enum枚举可以作为Switch语句表达式的值,JDK7中也引入了新特性,Switch可以接受一个string的值。

swtich(表达式)  {    
                 case 常量1 :
                   要执行的语句;
                   break;
                 case 常量2 :
                   要执行的语句;
                   break;
                 case 常量3 :
                   要执行的语句;
                    break;
                 default:
                   要执行的语句;
                   break;
}

举例:

import java.util.Scanner;
public class HelloWorld {
    public static void main(String[] args) {
       Scanner sc=new Scanner(System.in);
       System.out.println("请输入你的成绩");
       int score=sc.nextInt();
       switch(score/10)
       {
           case 10:
           case 9:
               System.out.println("您的成绩非常棒!");break;
           case 8:
               System.out.println("您的成绩很好!");break;
           case 7:
               System.out.println("您的成绩还需要加强!");break;
           case 6:
               System.out.println("您的成绩刚及格!");break;
           default:
               System.out.println("您需要好好努力了!");break;
       }
    }
}

注:和C语言中的Switch语句相同,一定不要忘记加break,否则会导致输出结果不符合预期效果。

输出:

请输入你的成绩
78
您的成绩还需要加强!

while循环语句:

while循环语句与选择语句类似,都是根据判断条件决定是否执行大括号内的执行语句,区别在于,while语句会反复地进行条件判断,只要条件成立,{}内的执行语句就会进行执行,直到条件不成立,while循环结束。

while(表达式)
{
循环语句1;
循环语句2;
循环语句N;
}

举例:

public class HelloWorld {
    public static void main(String[] args) {
       int number=0;
       int sum=0;
       while(number<50)//循环结束的条件-----number>=50
       {
           sum+=number;
           number++;
       }
       System.out.println("sum为"+sum);
    }
}

输出:

sum为1225

do…while循环语句:

和while不同的是,该循环体会无条件的执行一次,然后再根据while后面的条件决定是否再执行。

do{

语句序列

} while(条件表达式); //注意!语句结尾处的分号";"一定不能少

public class HelloWorld {
    public static void main(String[] args) {
       int number=6;
       do
       {
           number++;
           System.out.println("number is"+number);//执行一次
       }while(number<6);//不符合要求跳出循环
    }
}

输出:

number is7

for循环语句:

for(循环变量的初始化;循环判断;循环迭代){

循环体;

}

public class HelloWorld {
    public static void main(String[] args) {
       int i=0;
       for(i=0;i<10;i++)//for循环结束的条件,i>=10
       {
           System.out.println(i);
       }
    }
}

输出:

0
1
2
3
4
5
6
7
8
9

循环嵌套:

当满足外层循环,才能进入内层循环,内层循环不满足时,再跳出内层循环,对外层循环进行判断。

for(初始化表达式;循环条件;操作表达式){

for(初始化表达式;循环条件;操作表达式){

执行语句

}

}

举例:

public class HelloWorld {
    public static void main(String[] args) {
       int i,j;
       int sum=0;
       for(i=0;i<10;i++)//外层循环
       {
           for(j=0;j<10;j++)//内层循环
           {
               sum+=i+j;
           }
       }
        System.out.println("sum is"+sum);
    }
}

输出:

sum is900

break VS continue:

break语句:

在Switch条件语句和循环语句中都可以进行使用,当它出现在Switch语句中,作用是终止某个case并跳出Switch结构,当它出现在循环语句中,作用是跳出循环执行后续代码。


举例:

我们现在通过上述在Switch结构那部分所举的实例来感受一下break的作用。

import java.util.Scanner;
public class HelloWorld {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入你的成绩");
        int score=sc.nextInt();
        switch(score/10)
        {
            case 10:
            case 9:
                System.out.println("您的成绩非常棒!");
            case 8:
                System.out.println("您的成绩很好!");
            case 7:
                System.out.println("您的成绩还需要加强!");
            case 6:
                System.out.println("您的成绩刚及格!");break;
            default:
                System.out.println("您需要好好努力了!");break;
        }
    }
}

输出:

请输入你的成绩
82
您的成绩很好!
您的成绩还需要加强!
您的成绩刚及格!

我们输入的成绩符合case为8的这个语句,但是结果输出了不止一条语句,其原因就是在case 8和case 7语句后面并没有break,直到case 6后面才有break出现,此时才能跳出Switch结构,由此可见,break在Switch结构中的重要性。


但是需要注意的是,break在嵌套循环中,他只能一次性跳出一个循环,也就是说,当它处于内层循环时,他只能跳出内层循环,而不能直接跳出外层循环,如果想要跳出外层循环,需要再使用一个break。


continue语句:

它的作用是终止本次循环,执行下一次循环。

举例:

public class HelloWorld {
    public static void main(String[] args) {
        for(int i=0;i<10;i++)
        {
            if(i%2==0)//打印偶数
                System.out.println(i);
            continue;
        }
    }
}

输出结果:

0
2
4
6
8

if的判断条件是偶数项会被输出,当i增大到1时,已经不满足i%2==0,但是因为else的执行语句为continue,所以此时本次循环结束,给i++,再将i的值在for循环的条件语句哪里进行判断,执行下一次循环。

如果我们将continue换成break,此时输出结果只有0


方法:

修饰符:

方法的修饰符很多,例如,对方问权限进行限定的修饰符,static修饰符,final修饰符等。

返回值类型:

用于限定方法返回值的数据类型

参数类型:

用于限定调用方法时传入参数的数据类型。

参数名:

是一个变量,用于接收调用方法时传入的数据

return关键字:

用于返回方法指定类型的值并结束方法。

返回值:

被return语句返回的值,该值会返回给调用者。

举例:

public class HelloWorld {
    public static void main(String[] args) {
        printRectangle(3, 5);
        printRectangle(2, 4);
        printRectangle(6, 10);
    }
    //定义了一个方法printRectangle,printRectangle为方法名height和width为参数
    public static void printRectangle(int height, int width) {
    //void表示返回值的类型
        for (int i = 0; i < height; i++) {
            for (int j = 0; j < width; j++) {
                System.out.print("*");//print打印、println
            }
            System.out.print("\n");
        }
        System.out.print("\n");
    }
}

输出:

*****
*****
*****
****
****
**********
**********
**********
**********
**********
**********

方法的调用和函数调用有点相似,但不同之处是,函数调用必须要声明函数,但方法的调用是不需要声明,而是需要将要调用的方法用class类的那个大括号包裹进去。

方法的重载:

在平时生活中经常会出现这样的情况,一个班里可能同时有两个叫小明的同学,甚至有多个,但是他们的身高,体重,外貌等其他方面有所不同,老师点名时会根据他们的特征来区分,在编程语言里也存在,这种情况参数不同的方法有着相同的名字,调用时根据参数不同确定调用哪个方法。这就是java方法重载机制。


所谓方法重载,就是在同一个作用域内方法名相同但参数个数或者参数类型不同的方法,例如,在同一个作用域同时定义三个add()方法,这三个add()方法就是重载函数。


举例:

public class HelloWorld {
    public static void main(String[] args) {
       int sum1=add(1,2);
       int sum2=add(1,2,3);
       double sum3=add(1.2,2.3);
       System.out.println("sum1="+sum1);
       System.out.println("sum2="+sum2);
       System.out.println("sum3="+sum3);
    }
    public static int add(int x,int y)//实现两个值整数的相加
    {
        return x+y;
    }
    public static int add(int x,int y,int z)//实现三个整数的相加
    {
        return x+y+z;
    }
    public static double add(double x,double y)//实现两个双精度浮点数的相加
    {
        return x+y;
    }
}

输出:

sum1=3
sum2=6
sum3=3.5

虽然上述定义的三个方法是同名的,但由于他们的参数个数或参数类型的不同,从而形成了方法的重载,在main()函数中调用方法add时,通过传入的不同的参数便可以确定调用那个重载的方法。

相关文章
|
26天前
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
本系列教程笔记详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。若需快速学习Kotlin,建议查看“简洁”系列教程。本期重点介绍了Kotlin与Java的共存方式,包括属性、单例对象、默认参数方法、包方法、扩展方法以及内部类和成员的互操作性。通过这些内容,帮助你在项目中更好地结合使用这两种语言。
42 1
|
7天前
|
监控 安全 Java
Java中的多线程编程:从入门到实践####
本文将深入浅出地探讨Java多线程编程的核心概念、应用场景及实践技巧。不同于传统的摘要形式,本文将以一个简短的代码示例作为开篇,直接展示多线程的魅力,随后再详细解析其背后的原理与实现方式,旨在帮助读者快速理解并掌握Java多线程编程的基本技能。 ```java // 简单的多线程示例:创建两个线程,分别打印不同的消息 public class SimpleMultithreading { public static void main(String[] args) { Thread thread1 = new Thread(() -> System.out.prin
|
13天前
|
Java 大数据 API
14天Java基础学习——第1天:Java入门和环境搭建
本文介绍了Java的基础知识,包括Java的简介、历史和应用领域。详细讲解了如何安装JDK并配置环境变量,以及如何使用IntelliJ IDEA创建和运行Java项目。通过示例代码“HelloWorld.java”,展示了从编写到运行的全过程。适合初学者快速入门Java编程。
|
19天前
|
存储 安全 Java
🌟Java零基础-反序列化:从入门到精通
【10月更文挑战第21天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
57 5
|
17天前
|
安全 Java 调度
Java中的多线程编程入门
【10月更文挑战第29天】在Java的世界中,多线程就像是一场精心编排的交响乐。每个线程都是乐团中的一个乐手,他们各自演奏着自己的部分,却又和谐地共同完成整场演出。本文将带你走进Java多线程的世界,让你从零基础到能够编写基本的多线程程序。
29 1
|
23天前
|
Java 数据处理 开发者
Java多线程编程的艺术:从入门到精通####
【10月更文挑战第21天】 本文将深入探讨Java多线程编程的核心概念,通过生动实例和实用技巧,引导读者从基础认知迈向高效并发编程的殿堂。我们将一起揭开线程管理的神秘面纱,掌握同步机制的精髓,并学习如何在实际项目中灵活运用这些知识,以提升应用性能与响应速度。 ####
43 3
|
24天前
|
Java
Java中的多线程编程:从入门到精通
本文将带你深入了解Java中的多线程编程。我们将从基础概念开始,逐步深入探讨线程的创建、启动、同步和通信等关键知识点。通过阅读本文,你将能够掌握Java多线程编程的基本技能,为进一步学习和应用打下坚实的基础。
|
26天前
|
存储 安全 Java
从入门到精通:Java Map全攻略,一篇文章就够了!
【10月更文挑战第19天】本文介绍了Java编程中重要的数据结构——Map,通过问答形式讲解了Map的基本概念、创建、访问与修改、遍历方法、常用实现类(如HashMap、TreeMap、LinkedHashMap)及其特点,以及Map在多线程环境下的使用和性能优化技巧,适合初学者和进阶者学习。
44 4
|
25天前
|
Java
[Java]Socket套接字(网络编程入门)
本文介绍了基于Java Socket实现的一对一和多对多聊天模式。一对一模式通过Server和Client类实现简单的消息收发;多对多模式则通过Server类维护客户端集合,并使用多线程实现实时消息广播。文章旨在帮助读者理解Socket的基本原理和应用。
20 1
|
26天前
|
Java 编译器 Android开发
Kotlin语法笔记(28) -Kotlin 与 Java 混编
本系列教程详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。对于希望快速学习Kotlin的用户,推荐查看“简洁”系列教程。本文档重点介绍了Kotlin与Java混编的技巧,包括代码转换、类调用、ProGuard问题、Android library开发建议以及在Kotlin和Java之间互相调用的方法。
20 1