文章目录

  • 前言
  • 接第三期:
  • 一、BMI具体指什么?
  • 二、技术准备(需要学习了解的技术)
  • 1.变量
  • 2.标识符
  • 2.基本符号
  • 3.数据类型
  • 4.数据类型转换
  • 5.运算符
  • 6.选择结构
  • 一、BMI如何计算
  • 总结



前言

本期我们讲一起学习Java语言的基本符号、基本数据类型和运算符,以及分支流程控制语句:


接第三期:

  1. 强化训练
  2. 练习:
    Java区分大小写。
    Java关键字是小写。
    编译Java程序的命令是javac 程序名.java。
    运行Java程序的命令是java 程序名。
    在控制台打印字符串(比如上面的打印Hello World)的语句是【sout】(【System.out.println();】)。
package com.luoyu.helloworld;

public class HelloWorld2 {
    public static void main(String[] args) {
        System.out.println("**********************");
        System.out.println("*   Hello World!    *");
        System.out.println("**********************");
    }
}

一、BMI具体指什么?

BMI:体重指数,又称身体质量指数(Body Mass Index,BMI)是用体重公斤除以身高的数平方得到的数字,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。男性<20过轻,20-25适中,25-30过重,30-35肥胖,>35属于非常肥胖。女性<19过轻,19-24适中,24-29过重,29-34肥胖,>34属于非常肥胖。无论男女,理想指数都应是22左右。

二、技术准备(需要学习了解的技术)

1.变量

变量主要用于保存输入、输出和程序运行过程中的中间数据。在Java中,每一个变量都属于某种类型。在使用变量前,要先对变量进行声明。

  1. 声明变量:
    在声明变量时,变量所属的类型位于前面,随后是变量名:
    double salary;String name;int x,y; 在Java中,声明变量是一条完整的语句,每一个声明语句后面都要跟分号来做结束。
  2. 初始化变量:
    int age;age=20;System.out.println(age);
  3. 变量可以声明的同时赋值:
    int age2=21;System.out.println(age2);

2.标识符

标识符是用户定义的用于表示变量名、类名、接口名、方法名、方法参数名等的符号,且遵循一定的规则:

  1. 由字母、下划线、$符号组成,对标识符的长度没有特别限制;
  2. 必须以字母、下划线、或$符号开头;
  3. 标识符区分大小写;
  4. 标识符不能用系统的保留字(关键字);

java math做指数运算 java计算指数_System

2.基本符号

和其他语言相同,Java程序也是由多个文件组成的,每个文件又是由很多代码组成,每个代码行是由一些基本符号组成:

  1. 数字常量:
    数字常量是由0到9这10个符号组成,用于表示数字,同数学一样可以用“-”表示复数。
  2. 字符常量:
    Java中的字符常量是使用英文单引号括起来的某个字符,例如’a’。字符常量可以是数字,如’0’,虽然里面是数字0,但在这里是字符’0‘。Java使用Unicode编码,所以字符常量可以用于表示汉字。
  3. 字符串常量:
    字符串常量是使用英文双引号括起来的字符序列,例如"Hello World",用双引号括起来的即使只有一个字符也是字符串常量。
  4. 布尔常量:
  5. 布尔常量只有两个值:true和false。true表示“真”,false表示“假”。

3.数据类型

java math做指数运算 java计算指数_开发语言_02

  1. int是整形中的默认类型,double是浮点数中的默认类型
  2. long类型赋值时后面要加上【l或者L】,float类型赋值时后面要加上【f或者F】

4.数据类型转换

  1. 自动类型转换:类型范围小的变量,可以直接赋值给类型范围大的变量(为什么要进行类型转换:存在不同类型的变量赋值给其他类型的变量)
    byte->short->int->long->float->doublechar->int->long->float->double
  2. 表达式的自动类型转换:在表达式中,小范围类型的变量会自动转换成当前较大范围的类型再运算
    byte、short、char->int->long->float->double1、表达式的最终结果类型是由表达式中的最高类型决定2、在表达式中,byte、short、char是直接转换成int类型参与运算的byte a=100;byte b=120;int c=a+b;
  3. 强制类型转换:强行将类型范围大的变量、数据赋值给类型范围小的变量(只能准确转换出原本在类型范围小的变量的范围中的变量、数据)
    1、数据类型 变量2 = (数据类型)变量1、数据int a=20;byte b=(byte)a;2、强制类型转换可能造成数据(丢失)溢出3、浮点型强转成整形,直接丢掉小数部分,保留整数部分返回

5.运算符

  1. 算数运算符:+、-、*、/、%分别表示加、减、乘、除、求余。“+”、“-”也可以做单目运算符,表示“正”和“负”。
  2. 赋值运算符
    1、基本赋值运算符 “=”“是赋值运算符,把右边的表达式赋值给左边的变量。
    2、复合赋值表达式 赋值运算符与其他运算符结合使用完成赋值
  3. 自增自减运算符
    1、自增运算符:把自身增加1y=x++;==y=x;x=x+1y=++x;==x=x+1;y=x; 运行顺序不一样,值也会不一样,一般只会用【++x】。即让数自增1然后再参与运算。
  4. 比较运算符
    比较(关系)运算符用于对两个值进行比较,其返回值为布尔类型 比较运算符有:>、>=、<、<=、==、!=,分别表示大于、大于等于、小于、小于等于、等于、不等于。
  5. 逻辑运算符
    1、“&&”和“&”都是逻辑与,只有当两个操作都为true的时候,结果才为true2、“||”“|”都是逻辑或,只有当两个操作都为false的时候,结果才为false3、“!”是逻辑非,如果操作数为false,结果为true,如果操作数为true,结果为false4、“^”是逻辑异或,如果两个操作数不同,结果为true,如果两个操作数相同,结果为false 一般用双与和双或,双与“&&”只要有一个为false就为false,不会再去看另外一边的式子,双或“||”只要有一个为true就为true,不会再去看另外一边的式子。
  6. 位运算符
    位运算符有:&、|、~、^,分别表示按位与、按位或、按位非、按位异或
  7. 移位运算符
    <<是左移>>是右移>>>是无符号右移
  8. 条件运算符(三目运算符)
    基本格式:op1?op2:op3op1的结果为布尔类型,如果op1的值为true,则表达式结果为op2,如果op1的值为false,则最后的结果为op3
  9. 字符串连接运算符
    “+”可以用来连接运算符,其中至少要有一个是字符串,另外一个就可以是任意数据类型或是任意类的对象
package com.luoyu.bmi;

import java.util.Date;

public class OperatorDemo {
    public static void main(String[] args) {
        System.out.println("----------------------1、算数运算符-------------------------");
/*1、算数运算符*/
        //定义整形变量a,b,并分别赋值10和20
        int a=20;
        int b=20;
        //分别进行加减乘除和求余运算
        int sum=a+b;
        int sub=a-b;
        int mul=a*b;
        int div=a/b;
        int res=a%b;
        //输出运算结果
        System.out.println("a="+a+",b="+b);
        System.out.println("a+b="+sum);
        System.out.println("a-b="+sub);
        System.out.println("a*b="+mul);
        System.out.println("a/b="+div);
        System.out.println("a%b="+res);

        System.out.println("----------------------2、赋值运算符-------------------------");
/*2、赋值运算符*/
        //使用复合赋值方法计算表达式x+3,并把结果赋值给x
        int x=3;
        x+=3;
        System.out.println(x);
        //不使用复合赋值表达式计算y+3,并把结果赋值给y
        int y=4;
        y=y+4;
        System.out.println(y);

        System.out.println("----------------------3、自增自减运算符-------------------------");
/*3、自增自减运算符*/
        int c=0;
        int d=0;
        //赋值之后再+1
        int e=c++;
        //此时
        //赋值之前先+1
        int f=++d;
        //此时
        System.out.println(e);
        System.out.println(f);

        System.out.println("----------------------4、比较运算符-------------------------");
/*4、比较运算符*/
        int g=3;
        int h=4;
        boolean bigger = g > h ;
        boolean less = g < h ;
        boolean biggerEqual = g >= h ;
        boolean lessEqual = g <= h ;
        boolean equal= g ==h ;
        boolean unequal = g != h ;
        System.out.println("g是否大于h?        "+bigger);
        System.out.println("g是否小于h?        "+less);
        System.out.println("g是否大于等于h?    "+biggerEqual);
        System.out.println("g是否小于等于h?    "+lessEqual);
        System.out.println("g是否等于h?        "+equal);
        System.out.println("g是否不等于h?      "+unequal);

        System.out.println("----------------------逻辑运算符-------------------------");
/*5、逻辑运算符*/
        boolean b1=true;
        boolean b2 =false;
        //进行各种布尔运算,并输出结果
        System.out.println("b1&&b2="+(b1&&b2));
        System.out.println("b1&b2="+(b1&b2));
        System.out.println("b1||b2="+(b1||b2));
        System.out.println("b1|b2="+(b1|b2));
        System.out.println("!b1="+!b1);
        System.out.println("b1^b2="+(b1^b2));

        System.out.println("----------------------6、位运算符-------------------------");
/*6、位运算符*/

//难理解,还一般用不上,就不写了

        System.out.println("----------------------7、移位运算符-------------------------");
/*7、移位运算符*/
        int aa=10;
        int bb =2;
        int cc=-3;
        //左移
        //aa<<bb,aa是要移位的数,bb是要移动的位数,结果相当于aa乘以2的bb次方,即=10*(2^2)
        System.out.println("aa<<bb="+(aa<<bb));
//难理解,还一般用不上,就不写了

        System.out.println("----------------------8、条件运算符-------------------------");
/*8、条件运算符*/
        int o=10;
        int p=7;
        int q;
        //如果o>p,把o赋值给q,如果p>o,把p的值赋值给q
        q = o>p?o:p;
        System.out.println("o和p之间的最大值是"+q);

        System.out.println("----------------------9、字符串连接运算符-------------------------");
/*9、字符串连接运算符*/
        byte link1=3;
        short link2=4;
        int link3=5;
        long link4=15;
        float link5=69f;
        double link6=19.7;
        char link7='a';
        boolean link8=true;
        //获取当前时间,Java自带的包
        Date link9=new Date();
        System.out.println("byte类型:"+link1);
        System.out.println("short类型:"+link2);
        System.out.println("int类型:"+link3);
        System.out.println("long类型:"+link4);
        System.out.println("float类型:"+link5);
        System.out.println("double类型:"+link6);
        System.out.println("char类型:"+link7);
        System.out.println("boolean类型:"+link8);
        System.out.println(link9);

    }
}

java math做指数运算 java计算指数_开发语言_03

6.选择结构

再程序执行的过程中,根据特定条件执行某些语句,就叫选择结构选择结构包括:if和switch

if语句:if语句就是在满足一定条件的时候,执行某些语句。

基本结构:
if(条件表达式){语句}---------------------------------------------if(条件表达式){语句1}else{语句2}---------------------------------------------if(条件表达式){语句1}else if{语句2}else{语句3}

条件表达式的结果必须是boolean类型的值,要执行的语句可以是多条,每条语句以分号结束即可。多个条件判断可以直接嵌套,俗称套娃:满足一个条件,进到if里面去,然后再判断是否满足条件,满足了再进到这个if里面。

switch语句:在多种情况中只选择一个执行,根据整形变量的值,输出不同的内容,就可以使用switch。
基本结构:
switch(表达式){case 值1:语句1case 值2:语句2case 值...:语句...case 值n:语句ndefaule:语句n+1} default的功能相当于if…else中的else,是在case语句都没执行的情况下执行的。
使用switch的时候要在case语句的最后加上break,这个代表退出switch选择,不然的话switch会把里面所有的case和default所对应的语句全部执行一遍。

package com.luoyu.bmi;

public class ChooseDemo {
    public static void main(String[] args) {
        System.out.println("------------------1、单if语句-------------");
        /*1.单if语句*/
        int a=10;
        int b=8;
        //先把a的值赋值给max,然后进行判断
        int max=a;
        //单if
        if (a<b){
            max=b;
        }
        if (a>b){
            max=a;
        }
        System.out.println(max);
        //if...else语句
        System.out.println("------------------2、if...else语句-------------");
        int a2=15;
        int b2=16;
        int max2=a2;
        if (a2>b2){
            max2=a2;
        }else {
            max2=b2;
        }
        System.out.println(max2);

        System.out.println("------------------3、if...else if...else语句-------------");
        //if...else if...else语句
        int a3=9;
        int b3=9;
        int max3=a3;
        if (a3>b3){
            max3=a3;
            System.out.println(max3);
        }else if (a3==b3){
            System.out.println("这两个值一样大!");
        }else {
            max3=b3;
            System.out.println(max3);
        }
        System.out.println("------------------4、switch语句-------------");
        //在多种情况中只选择一个执行,根据整形变量的值,输出不同的内容,就可以使用switch
        int  a4=2;
        switch (a4)
        {
            case 1 :
                System.out.println("第一个选项,代表a4的值为1");
            case 2 :
                System.out.println("第二个选项,代表a4的值为2");
            case 3 :
                System.out.println("第三个选项,代表a4的值为3");
            case 4 :
                System.out.println("第四个选项,代表a4的值为4");
            default:
                System.out.println("a4的值不合法");
        }
        System.out.println("-----------------------------");
        char a5=3;
        switch (a5)
        {
            case 1 :
                System.out.println("第一个选项,代表a4的值为1");break;
            case 2 :
                System.out.println("第二个选项,代表a4的值为2");break;
            case 3 :
                System.out.println("第三个选项,代表a4的值为3");break;
            case 4 :
                System.out.println("第四个选项,代表a4的值为4");break;
            default:
                System.out.println("a5的值不合法");break;
        }
    }
}

java math做指数运算 java计算指数_赋值_04

一、BMI如何计算

package com.luoyu.bmi;

import java.util.Scanner;

public class BMIDemo {
    public static void main(String[] args) {
        //创建Scanner对象
        Scanner sc=new Scanner(System.in);
        /*
         *从键盘输入性别,升高,体重
         * 输入整数0表示女1表示男
         * 身高使用浮点数,精确到小数位后两位,单位(米)
         * 体重使用公斤
         */
        System.out.println("请输入性别:0表示女,1表示男");
        int sex=sc.nextInt();
        System.out.println("请输入身高,精确到小数点后两位,单位(米)");
        double length=sc.nextDouble();
        System.out.println("请输入体重,单位(公斤)");
        double weight=sc.nextDouble();
        double bmi=weight/length/length;
        System.out.println("你的体重指数是:"+bmi);
        System.out.println("你的健康程度是:");
        if (sex==0){
            if (bmi < 19) {
                System.out.println("女生,体重过轻,建议加强营养补充!");
            }else if (bmi<24){
                System.out.println("女生,体重适中,请保持!");
            }else if (bmi<29){
                System.out.println("女生,体重过重,注意锻炼身体!");
            }else if (bmi<34){
                System.out.println("女生,属于肥胖行列,建议保持饮食习惯!");
            }else {
                System.out.println("女生,属于非常肥胖行列,建议减肥!");
            }
        }else {
            if (bmi <20) {
                System.out.println("男生,体重过轻,建议加强营养补充!");
            }else if (bmi<25){
                System.out.println("男生,体重适中,请保持!");
            }else if (bmi<30){
                System.out.println("男生,体重过重,注意锻炼身体!");
            }else if (bmi<35){
                System.out.println("男生,属于肥胖行列,建议保持饮食习惯!");
            }else {
                System.out.println("男生,属于非常肥胖行列,建议减肥");
            }
        }

        System.out.println("BMI指数最理想的是22,为了健康的身体,你要加油哦!");
    }
}

java math做指数运算 java计算指数_赋值_05


总结

  1. 我有一些东西没讲,希望朋友们有不懂的的时候能去直接上网搜,写程序就是要让自己没有一丝一毫的问题,特别是刚开始学的时候,遇到问题一定要解决,解决过的问题一定要记录下来,防止下次遇到。
  2. 初学者的朋友们,复制代码时不要直接全部复制完然后整个放到你的项目中去,要注意main方法和类名:
    把上面和下面的全删掉,值保留中间的部分,就能直接放在你创建的类里面去运行了。还有,Java程序是通过main方法运行的,别忘了给你的类添加main方法。