java基础Day02

Day02——变量与运算符的使用

chapter02 变量、运算符以及注释

本章目标:
认识变量以及使用变量 重点
认识JAVA中常用的数据类型 重点、难点
认识JAVA中的常用运算符 重点、难点
了解注释的使用

一、变量

案例:
入住宾馆:
1、选择合适的房间类型
2、办理入住手续工作人员给你房号。
3、根据房号入住房间
4、如果要找到该客人,可根据房号

变量的使用步骤:
1.根据需求定义正确的数据类型
2.编写变量名
3.给变量赋值

4.使用变量

示例:
小张在银行中有存款1000元,按银行的利息每年增长5%那么,一年后小张的存款是多少?

//定义存款变量
int money = 1000;
//定义利率变量
double lilv = 0.05;
//计算一年后的存款金额
money = money+money*lilv;
System.out.println(“小张一年后的存款为:”+money);

变量的语法:
数据类型 变量名 = 数值;
double lilv = 0.05;
int money = 1000;

通过以上案例总结:
1.什么是变量?
变量就是在内存中根据数据类型开辟一块用于存储数据的空间。

2、如何使用变量?
语法:
数据类型 变量名 = 数值;
步骤:
1.根据需求定义正确的数据类型
2.编写变量名
3.给变量赋值
4.使用变量


二、数据类型
1.数据类型的分类:
a.基本数据类型:
基本数据类型分类:
1).数值类型:
长整型:long
整型:int
短整型:short
双精度浮点类型:double
单精度浮点类型:float
字节:byte
位:bit

2).非数值类型:
布尔类型:boolean:true/false
字符类型:char:它的值要使用单引号括起来,只能有一个汉字,字符,数字

b.引用数据类型:

字符串:String 它的值要使用双引号括起来。它绝不是字符数组。

三、数据类型的转换:
数据类型转换可分为:
1.强制类型转换(显示转换)
当赋值符号右边的数据类型大于左边的数据类型时,就要用到强制类型转换
例如:
int a =10;
double b = 20;
a =b;编译错误,因为b数据类型大于b数据类型:
解决:
强制类型转换
a = (int)b;
缺点:转换后,失去了数据的精确度
2.自动类型转换(隐式转换)
a:当赋值符号右边的数据类型小于左边的数据类型时,就要用到自动类型转换
例如:
int a = 10;
double b = 20;
b =a;
b:在同一个运算表达式中,如果小的数据类型遇到比自身大的数据类型时,会发生自动转换
int a = 10;
double b = 20.3;
b = a*b;—-这时,a先提升为double再与b进行运算。


三、运算符:
1.算数运算符:+、-、*、/、%、++、–

注意:
int a = 10;
int b = a++;
System.out.println(b);
结果为:10;因为,先将变量a的值赋给b然后a在自身++

int a = 10;
int b = ++a;
System.out.println(b);
结果为:11;因为,a先自身++,然后将结果赋值给b

2.赋值运算符: =、 +=、 ﹣=、 *=、 /=、 %=

3.比较运算符: >、 <、 >=、 <=、 ==、 !=、 instanceof
instanceof:是用作对象的比较。是某个对象是否属于某个类,如果属于返回为true,否则false.

4.逻辑运算符: !、 &&、 ||
解释:
!:逻辑非(条件为真,结果为假)
&&:逻辑并(两两条件同时为真,结果为真,有一条件为假,结果为假)
||:逻辑或(两两条件有一个条件为真,结果为真)

5.条件运算符(三元表达式): ?:
可以把它看成if..else ?(如果条件成立) :(条件不成立)

运算符的优先级顺序:
小括号的优先级最高,如果要提升运算符的优先级可使用小括号、
逻辑非>算术运算符>关系运算符>逻辑运算符
优先级最低:赋值运算符

题目:
设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( )。

1.x自身++ 2
2.z/2 =1.相除后z在自身–
3.执行y+=1.y=y+1 结果:3

四:注释
1、有哪些注释?
单行注释://
多行注释:/…../
javaDoc注释:/*…../

2、注释的作用?
单行注释:a.在逻辑控制语句上方出现以及变量的定义处,可以告知逻辑的意义,有便维护。
b.可以屏蔽某行代码不被执行。
c.有利于初学者编程逻辑思维的建立。

多行注释:a.出现在方法的上方,或类名的上方。告知维护人员类该类要描述的内容,以及方法的功能。有利于维护。
          b.可以屏蔽一定范围内的代码不被执行

javaDoc注释:出现在类的上方,方法的上方。可以生成java独有的帮助文档。有便于一些项目产品的申报文档的编写。

总结:
1、变量环节的补充
变量的命名规范:
a.变量首字母一定要小写。如果变量名由2个单词或以上的单词组成,那么第二个单词的首字母要大写。
例如:
int money = 20;
String studentName = “张三”;
b.变量不能以数字开头但是可以包含数字,不能使用java中的关键字
c.变量中可以由$或_开头。除此以外不允许出现任何符号
*数据类型转换补充:
int a = ‘你’;*

习题
1、打印学生信息:学生姓名:张三,性别:男,年龄20,年级:软件系2班
要求:使用适当的数据类型定义变量,在控制台进行输出
输出要求:(注意空格以及换行)
学生姓名 性别 年龄 班级
张三 男 20 软件系2班

package com.neusoft;

public class PrintStu {

    /**
     * @Elvis   定义变量和输出练习
     */
    public static void main(String[] args) {
        String name="张晓东";
        String sex ="男";
        int age = 20; 
        String classroom="软件系2班";

        System.out.println("学生姓名"+"\t\t"+"性别"+"\t\t"+"年龄"+"\t\t"+"班级");
        System.out.println(name+"\t\t"+sex+"\t\t"+age+"\t\t"+classroom);
    }

}

2、根据编程1.变量的赋值使用控制台进行输入,并在控制台进行输出结果(输出要求同上)

package com.neusoft;

import java.util.Scanner;

/**
 * @Elvis
 *打印学生信息:   
 *学生姓名:张三,性别:男,年龄:20,班级:软件系2班
 */
public class PrintInfo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入学生姓名");
        String name = sc.next();

        System.out.println("请输入学生的性别");
        String sex = sc.next();

        System.out.println("请输入学生的年龄");
        int age = sc.nextInt();

        System.out.println("请输入学生的班级");
        String classroom = sc.next();

        System.out.println("学生姓名"+"\t\t"+"性别"+"\t\t"+"年龄"+"\t\t"+"班级");
        System.out.println(name+"\t\t"+sex+"\t\t"+age+"\t\t"+classroom);


    }
}

3、有数字12345,在控制台中进行倒序打印:54321
提示:使用循环

package com.neusoft;

import java.util.Scanner;

public class DaoXuPrint {

    /**
     * @Elvis
     *      有数字12345,在控制台进行倒序打印,输出54321 使用循环结构
     *      使用int类型,不要使用String类型
     *      改成键盘录入一段数字,使其倒序
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请您输入一串数字");
        int x = sc.nextInt();
        int remainder = 0;

        while(x!=0){
            remainder  = x%10;
            System.out.print(remainder);
            x = x/10;
        }

    }
}

课后作业与复习题
创建项目
a) 项目名:myshopping 注意项目名称的大小写,如果发现有误一并删除
b) 编写类:
i. WelComeMenu.java
打印输出:
欢迎使用我行我素购物管理系统
1. 登录
0. 退出

ii. MainMenu.java
1. 使用控制输入的形式完成用户的登录输入
打印输出:
提示用户请输入用户名
提示用户请输入登录密码
要有相应的变量,使用控制台为变量赋值
iii. GoodsMenu.java
1. 打印购物列表
商品名 单价(元) 购买数量 总价格(元)
网球鞋 480 2 960
网球拍 1280 3 3840
总金额:4800元
折扣:8折
实际付款:3840元

WelComeMenu.java

package com.neusoft;

public class WelComeMenu {

    /**
     * @Elvis
     */
    public static void main(String[] args) {
        //输出网站要求的内容
        System.out.println("\t\t\t\t\t\t\t\t"+"欢迎使用我行我素购物管理系统"+"\t\t\t\t\t\t\t\t");
        System.out.println("\t\t\t\t\t\t\t\t\t\t"+"1.登录"+"\t\t\t\t\t\t\t\t\t\t");
        System.out.println("\t\t\t\t\t\t\t\t\t\t"+"0.退出"+"\t\t\t\t\t\t\t\t\t\t");
    }

}

MainMenu.java

package com.neusoft;

import java.util.Scanner;

public class MainMenu {

    /**
     * @param args
     */
    public static void main(String[] args) {
        //键盘录入用户输入的用户名和密码
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入用户名");
        String username=sc.next();

        System.out.println("请输入密码");
        String password=sc.next();

        //输出用户输入的用户名和密码
        System.out.println("您的用户名是"+username);
        System.out.println("您的密码是"+password);
    }

}

GoodsMenu.java

package com.neusoft;

import java.util.Scanner;

public class GoodsMenu {

    /**
     * 此程序用来打印购物列表,采用了键盘录入的方式录入了数据,并计算其总金额输出
     * 打印购物列表
            商品名 单价(元)   购买数量    总价格(元)
            网球鞋   480           2               960
            网球拍   1280         3              3840
            总金额:4800元
            折扣:8折
            实际付款:3840元
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String shoes="网球鞋";
        String racket="网球拍";

        //输入网球鞋的单价和购买数量并且计算其总价
        System.out.println("请输入网球鞋的单价");
        int shoespri=sc.nextInt();
        System.out.println("请输入网球鞋的购买数量");
        int shoesnum= sc.nextInt();
        int shoescount=shoespri*shoesnum;
        System.out.println("网球鞋的总价为"+shoescount);

        //输入网球拍的单价和购买数量并且计算其总价
        System.out.println("请输入网球拍的单价");
        int racketpri=sc.nextInt();
        System.out.println("请输入网球鞋的购买数量");
        int racketnum= sc.nextInt();
        int racketcount=racketpri*racketnum;
        System.out.println("网球鞋的总价为"+racketcount);

        //计算商品的总价
        int productsum=shoescount+racketcount;
        System.out.println("商品总价为"+productsum);

        //声明折扣变量,并且计算实际货款金额
        System.out.println("请输入折扣(8折为0.8)");
        double discount = sc.nextDouble();
        double actualproductsum = productsum*discount;
        System.out.println("实际付款为"+actualproductsum);

        //输出商品名、单价、购买数量以及总金额、实际价格、折扣等等
        System.out.println("商品名"+"\t\t"+"单价(元)"+"\t\t"+"购买数量"+"\t\t"+"总价格(元)");
        System.out.println(shoes+"\t\t\t"+shoespri+"\t\t\t"+shoesnum+"\t\t\t"+shoescount);
        System.out.println(racket+"\t\t\t"+racketpri+"\t\t"+racketnum+"\t\t\t"+racketcount);
        System.out.println("总金额为:"+productsum+"元");
        System.out.println("折扣为:"+discount*10+"折");
        System.out.println("实际付款金额为:"+actualproductsum+"元");
    }

}

你可能感兴趣的:(java基础Day2)