变量的三要素
变量名,类型,保存的值
- 变量名
首先我们从简单的说起,如何给变量命名?
变量的命名遵循所有Java标识符的命名规则,那什么是标识符呢?就是java代码中各个组成部分的名字,比如我们后边要学到的类、包、方法。
命名规则:
英文!
必须以下划线()、字母、美元符($)开头,后面跟划线()、字母、美元符($)或数字。
比如我起一个变量名叫a,这个就是合法的;起一个变量名叫88,这个就是不合法的。
这样我们就完成了对变量的命名,还要注意一点,就是在java语言中,有很多的关键字和保留字,我们命名时不能和关键字或保留字冲突。
上图
image.png - 基本数据类型
- 数值
整数 byte,short,int,long
25,-987, 0
小数 float,double
5.23,3.14 - 字符 char
'a', '的' - 布尔型
boolean
这里我们为了方便练习多介绍一个引用数据类型String:String为字符串类型,它不属于基本数据类型。
如:"你好","中国的首都"
使用一个变量的步骤
- 定义一个变量
数据类型 变量名;
int money; - 给变量赋值
变量名 = 数值;
money = 1000 ;
第一步和第二步可以合并
数据类型 变量名=数值;
int money = 1000;
- 使用这个变量
System.out.println(money );
int age;//定义一个变量
age = 34; //给变量赋值
System.out.println(age); //在屏幕上输出变量的值
String name="zhangsan";//定义一个变量,并且马上给其赋值
System.out.println(name); //在屏幕上输出变量的值
定义几个变量
手机的品牌brand是华为,价格(price)2500,重量(weight)0.125千克,
颜色(color) 红
String brand = "华为";
int price = 2500;
double weight = 0.125;
char color = '红';
System.out.println("手机品牌:" + brand);
System.out.println("手机价格:" + price);
获取用户输入
使用Scanner
Scanner sc = new Scanner(System.in);
/*
* Scanner:用于接收键盘录入数据。
*
* 前面的时候:
* A:导包
* B:创建对象
* C:调用方法
*
*/
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
// 创建对象
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
System.out.println("x:" + x);
}
}
Scanner scanner = new Scanner(System.in);//定义一个从屏幕获得输入信息的变量scanner
System.out.println("请输入您的年龄");
int age = scanner.nextInt();//获得用户从屏幕输入的一个整数,有一个阻塞的副作用,通俗点说,就是程序卡在这里了
System.out.println("您的年龄是" + age);
System.out.println("请输入您的姓名");
String name = scanner.next();//获得用户从屏幕输入的一个字符串,有一个阻塞的副作用,通俗点说,就是程序卡在这里了
System.out.println("欢迎您" + name);
运算符
- 赋值运算符=
学员王浩的Java成绩是80分,学员张萌的Java成绩与王浩的相同,输出张萌的成绩。
int wangScore = 80; //王浩成绩
int zhangScore; //张萌成绩
zhangScore = wangScore;
System.out.println(“张萌成绩是" +zhangScore);
- 算数运算符+,-,*,/,%
System.out.println(1600%5);//0-4
System.out.println(3%5);//3
System.out.println(3%2);//1
System.out.println(21%5);//1
System.out.println(13%4);//1
System.out.println(m%n);//0----n-1
System.out.println(23%7);//2
System.out.println(25%7);//4
一个问题
用户在屏幕上输入一个天数,程序回答出是几周零几天?
用户在屏幕上输入一个天数,程序回答出是几周零几天?
Scanner scanner = new Scanner(System.in);
System.out.println("请输入天数");
//获得用户输入的天数dayCount
int dayCount = scanner.nextInt();
System.out.println(dayCount+"天是"+ dayCount/7 + "周零" + dayCount%7 + "天");
关系运算符
比较高低、大小、长短等
张三的考试成绩是否比李四高
大象是否比乌龟更长寿
篮球跟地球一样大吗
表达式(3+40%6)>(9/2*3)的结果是什么?
从控制台输入张三同学的成绩,与李四的成绩(80分)比较,输出“张三的成绩比李四的成绩高吗?” 的判断结果
int liSi = 80; //学员李四成绩
boolean isBig ;
Scanner input = new Scanner(System.in);
System.out.print("输入学员张三成绩: ");
int zhangSan = input.nextInt(); //输入张三的成绩
isBig = zhangSan > liSi ;
System.out.println( "张三成绩比李四高吗 ? "+isBig ); //输出比较结果
表达式
y = x-9+(x +90);
image.png商场推出幸运抽奖活动
抽奖规则:
顾客的四位会员卡号的
各位数字之和大于20,
则为幸运顾客。
类型转换
自动类型转换
某班第一次Java考试平均分81.29,第二次比第一次多2分,计算第二次考试平均分?
double firstAvg = 81.29; //第一次平均分
double secondAvg; //第二次平均分
int rise = 2;
secondAvg = firstAvg + rise;
System.out.println("第二次平均分是:" + secondAvg);
规则1:如果一个操作数为double型,则整个表达式可提升为double型
规则2:满足自动类型转换的条件
两种类型要兼容:
数值类型(整型和浮点型)互相兼容
目标类型大于源类型:
例如:double 型大于 int 型
强制类型转换
(类型名)表达式
int b = (int)10.2;
double a = 10;
int c = (int)a;
去年Apple笔记本所占市场份额是20,今年增长的市场份额是9.8,求今年所占份额?
int before = 20; //apple笔记本市场份额
double rise = 9.8; //增长的份额
int now = before+ (int)rise; //现在的份额
注意:当强制转换时,精度有损失。
网友评论