Java程序设计基础

2021/7/15 11:06:13

本文主要是介绍Java程序设计基础,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Java程序设计基础

  • 前言
  • 一、运算符是什么?
    • 1.算数运算符
    • 2.赋值运算
    • 3.条件运算符
    • 4.位运算符
    • 5.数学函数与常量
  • 二、表达式
  • 三、控制流程
    • 1.条件语句
    • 2.循环语句
    • 3.continue语句
  • 参考


前言

该部分主要了解Java语言中的运算符及其表达式的定义、用法等并以这个为基础进行程序控制语句的学习。


一、运算符是什么?

运算符负责对数据进行计算和处理。运算符一般由一个或多个符号构成,如+、>=、<、<=。少数运算符由两种含义,应根据上下文理解,如-3中的-是作为一元运算符(负号)使用,而a-6中的-是作为二元运算符(减号)使用。运算符由优先级。先计算优先级较高的,再计算优先级较低的。运算符也有结核性。

1.算数运算符

算数运算符主要用于整型或浮点型数据的运算。
二元运算符:

运算符用法含义结合性
+a+b加法
-a-b减法
*a*b乘法
/a/b除法
%a%b模运算(求余)

注意:整数被0除将会产生一个异常,而浮点数被0除将会得到无穷大或NaN的结果。
一元运算符:

运算符用法含义结合性
++a正数
--a负数
++++a,a++自增右,左
–a,a–自减右,左

算数运算符举例:

public class JavaOperator {
    public static void main(String args[]){
        int i=7;
        int j=14;
        float a=7.14f;
        double b=7.0;
        System.out.println("i+a="+(i+a));//整数与浮点数相加
        System.out.println("i*j="+(i*j));//两个整数相乘
        System.out.println("i/j="+(i/j));//连个整数相除,其结果还是整数(舍去小数点后的所有
        System.out.println("i%j="+(i%j));//两个整数求余,注意求余必须是两个整型
        System.out.println("a*b="+(a*b));//两个浮点数相乘
        System.out.println("a/b="+(a/b));//两个浮点数相除
        System.out.println("i++="+(i++));//先使用,后自增
        System.out.println("++i="+(++i));//先自增,再使用
        System.out.println("j--="+(j--));//先使用,后自减
        System.out.println("--j="+(--j));//先自减,再使用
    }
}

运行结果截图:
在这里插入图片描述

2.赋值运算

赋值运算符是二元运算符,左边的操作数必须是变量,右边的操作数为表达式,左右两边的类型如果一致,则直接将右边的值赋给左边的变量;如果不一致,则将表达式的值需要转换为左边变量的类型,再赋值。常见的扩展赋值运算符如下表所示:

运算符示例含义
+=count+=3count=count+3
-=count-=3count=count-3
*=count*=3count=count*3
/=count/=3count=count/3
%=count%=3count=count%3

3.条件运算符

条件运算符由?和:组成格式如下

3==7?false_0:true_1;//返回false_0
3==7//返回false
3!=7?true_1:false_0;//返回true_1
3!=7//返回true

条件运算符可以代替简单的if-else语句

4.位运算符

Java提供位操作运算符。所有的数在Java虚拟机中都会转换为补码二进制表示。位运算符不是对整个数进行运算,而是对该数二进制位上的0或1进行运算。位运算符如下表所示:

运算符示例含义
&a&b使a和b按位相与
|a|b使a和b按位相或
~~a对a按位取反
^a^b使a和b按位异或
<<a<<b使a左移b位,右补零
>>a>>b使a右移b位,左边补充符号位
>>>a>>>b使a无符号右移b位,左边始终补填0

5.数学函数与常量

在Java中没有一个数的幂运算、三角函数运算、反函数运算等运算,这时就会引用Java中的Math类,在运用Math类前需要在源文件引用如下代码:

import static java.lang.Math.*;

二、表达式

表达式式程序设计语言的基本组成部分,表示一种求值的规则,是由运算符和操作数组成的符号序列。表达式根据运算符的优先级别和结合性,首先执行指定的计算,再返回某个值。
在对表达式进行运算时,遵循一定的规则,要按运算符的优先级别从高到低进行,同级的运算符则按从左到右的方向进行。Java运算符的优先级按照从高大到低的顺序展示在下表:

1. [ ] ( ) ++ – ! ~ instanceof
2new(type)
3* / %
4+ -
5>> >>> <<
6<> <= >=
7== !=
8&
9^
10|
11&&
12| |
13?:
14= += -= *= /= %= ^=
15&= != <<= >>= >>>=

三、控制流程

Java程序控制语句分为3类:选择、循环和跳转语句。其中,①选择语句根据条件表达式计算结果,并使程序可以选择不同的执行路径;②循环语句式程序能够重复执行一个或多个语句;③跳转语句允许程序以非线性的方式执行。

1.条件语句

if语句的执行过程如下:如果条件为真(true),则执行if后面的语句(statement);否则,执行else后面的语句(statement2)。任何时候两条语句都不可能同时执行
通过使用if-else if阶梯确定某个月是什么季节

public class Season {
    public static void main(String args[]){
        int month=7;//初始化月份
        String season;//声明字符串类型变量season
        if(month==12||month==1||month==2)
            season="Winter";
        else if(month==3||month==4||month==5)
            season="Spring";
        else if (month==6||month==7||month==8)
            season="Summer";
        else if (month==9||month==10||month==11)
            season="Autumn";
        else
            season="It is a wrong number!";//初始化的月份超出范围报错
        System.out.println(month+" is in the "+season+".");//输出结果
    }
}

运行结果截图:
在这里插入图片描述
该题目除了可以用if-else if语句执行,还可用switch语句执行。其中switch语句的执行过成为:表达式的值首先与每个case语句中的常量进行比较。如果发现了一个与之相匹配的,则执行该case语句后的代码,不在匹配后面的case语句。如果 没有发现一个case常量与表达式的值相匹配,则执行default语句。若没有default语句则什么也不执行。

public class Season {
    public static void main(String args[]){
        int month=7;//初始化月份
        String season;//声明字符串类型变量season
      switch (month){
          case 12:
          case 1:
          case 2:season="Winter";break;
          case 3:
          case 4:
          case 5:season="Spring";break;
          case 6:
          case 7:
          case 8:season="Summer";break;
          case 9:
          case 10:
          case 11:season="Autumn";break;
          default:season="It is a wrong number!";
      }
        System.out.println(month+" is in the "+season+".");//输出结果
    }
}

2.循环语句

while语句是Java最基本的循环语句,当它的条件表达式是true时,while语句重复执行循环体,循环体可以是一个语句或者语句块。
计算10!

public class Math {
    public static void main(String args[]){
        int mul=1;//初始化阶乘量
        int i=1;//从1开始进行阶乘
        while(i<=10){
           mul*=i;
           i++;
        }
        System.out.println("10!= "+mul);
    }
}

运行结果截图:
在这里插入图片描述
该程序还可以使用for语句进行编写:

public class Math {
    public static void main(String args[]){
        int mul=1;//初始化阶乘量
       for(int i=1;i<=10;i++){
           mul*=i;
       }
        System.out.println("10!= "+mul);
    }
}

该程序也可以用do-while进行编写:

public class Math {
    public static void main(String args[]){
        int mul=1;//初始化阶乘量
        int i=1;
        do{
            mul*=i;
            i++;
        }while(i<=10);
        System.out.println("10!= "+mul);
    }
}

3.continue语句

有时需要强迫一次循环提前结束从而进行下一次循环。也就是说,可以继续运行循环,但是要忽略这次循环剩余的循环体的语句,这时就需要使用continue语句。
使用continue语句在每行打印5个数字

public class Continue {
    public static void main(String args[]){
        for(int i=1;i<=20;i++){
            System.out.print(i+" ");
            if(i%5!=0)//当i不能被5整除时继续打印数字不换行
                continue;
            System.out.println("");//当i不为5时需要换行后继续打印数字
        }
    }
}

运行结果截图:
在这里插入图片描述


参考

【1】Java此程序设计(第2版)清华大学出版社
【2】开源资料



这篇关于Java程序设计基础的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程