JAVA基础:day02
变量的定义及使用
1.1.1变量概述
什么是变量?变量是一个内存中的小盒子(小容器),容器是什么?生活中也有很多容器,例如水杯是容器,用来装载水;你家里的大衣柜是容器,用来装载衣裤;饭盒是容器,用来装载饭菜。那么变量是装载什么的呢?答案是数据!
结论:变量是内存中装载数据的小盒子,你只能用它来存数据和取数据。
1.1.2 Java中数据类型
数值
整型:
数据类型 大小 取值范围
Byte 1字节8位 -128 ~ +127
Short 2字节16位 -32768 (-215) ~ + 32767 (+215-1)
Int 4字节32位 -2147483648(-231) ~ + 2147483647(231-1)
Long 8字节64位 -263 ~ + 263-1
浮点型:
Float 4字节32位浮点数 1.4E-45 ~ 3.4E+38 , -1.4E-45 ~ -3.4E+38
Double 8字节64位浮点数 4.9E-324 ~ 1.7E+308, -4.9E-324 ~ -1.7E+308
非数值
char
Boolean
String
String不是基本数据类型,是引用数据类型,它是Java提供的一个类
1.1.3 Java中数据类型值关键字
true false null
1.1.4 变量声明及使用
第一步:声明变量,根据数据类型在内存申请空间
数据类型 变量名;
例:int money;
第二步:赋值,即“将数据存储至对应的内存空间”
变量名 = 数值;
例:money = 10000;
第三步:使用变量,即“取出数据使用”
Int money = 10000;
System.out.println(“月薪:” + money);
1.1.4变量使用举例
需求一:
使用变量完成如下操作
输出Java课考试最高分:98.5
输出最高分学员姓名:张三
输出最高分学员性别:男
提示:字符串的连接使用“+”
需求二:
使用变量存储数据,实现个人简历信息的输出
1.2.面试题
第一题:
byte b1=3,b2=4,b;
b=b1+b2; //错误 因为他们最终是要转向int类型 而int类型的值不能赋值给byte
b=3+4; //正确 因为他们都是常量 具有常量类型优化机制 可以直接识别为byte
哪句是编译失败的呢?为什么呢?
第二题:
byte by = 130;有没有问题?有问题如何解决?结果是多少呢?
有问题 因为这个数超出了byte的取值范围 要用byte类型进行强制转换 结果是-126
1.3.命名规范
只能用英文、下划线、数字、$结尾
a1 num2 file_这都是正确的命名方式
只能用英文、_、$开头
$a _num hello file_Input这都是正确的命名方式
不能使用关键字命名
Java中存在很多已经预先被使用并赋有意义的英文,被称为关键字
有意义
推荐大家在自己的电脑中安装词典,变量名一定要有意义,否则真实开发中会产生不为人知的问题
首个单词首字母小写其余首字母大写
copyFile inputFile这都是最佳的变量名命名方式
虽然可以但一般不使用_$
虽然可以使用_$,但在特殊情况会导致程序出错,所以一般不推荐
1.4.常量
在程序运行中,其值不能改变的量如何表示?
例:
final int NUM = 10;
final double PI = 3.14;
int r = 2;
double area = PI * r * r;
关键字:final
优点:比较安全
推荐做法:
(1)常量名通常大写
(2)不同字符使用下划线分隔
(3)只能被赋值一次,通常定义时即对其初始化
1.5.运算符
1.5.1 赋值运算符
例如:int num= 10;
String str = “欣知”;
File file = new File();
即:=右边永远都是数据,或可以得到数据的表达式;=左边永远都是一块可以存放对应数据类型的空间
1.5.2 算数运算符
+、-、*、/、%、++、--、+=、-=、*=、/=、%=
例一:int num1 = 10;
int num2 = 5;
System.out.println(num1+num2);
例二:String str1 = “欣知”;
String str2 = “大数据”;
System.out.println(str1+str2);
注意:+比较特殊,在几个数字的运算中,+扮演了“加”的角色。
在字符串中却扮演了“连接”的角色。
例三:int num1 = 5;
num1 ++;
System.out.println(num1);
例四: int num1 = 5;
num1 --;
System.out.println(num1);
例五:int num1 = 5;
num1 += 2;
System.out.println(num1);
例六: int num1 = 5;
num1 -= 2;
System.out.println(num1);
注意:*=、/=、%=,同理。
练习
需求:
使用变量完成数字运算
创建两个数字类型的变量,依次测试算数运算符的使用方法
1.5.3 比较运算符
>、<、>=、<=、==、!=、equals
例一: int num1 = 10;
int num2 = 5;
System.out.println(num1>num2);
例二: int num1 = 10;
int num2 = 10;
System.out.println(num1<=num2);
即:比较运算符是用来对运算符左右两个变量的值进行比较,得到结果是boolean类型,因为无论是何种比较,结果只有真或假两种。
例三: int num1 = 10;
int num2 = 5;
System.out.println(num1==num2);
例四: int num1 = 10;
int num2 = 10;
System.out.println(num1!=num2);
注意:单个=是赋值运算符,两个==才是比较。
例五: String str1 = “欣知”;
String str2 = “欣知”;
System.out.println(str1.equals(str2));
例六: String str1 = “欣知”;
String str2 = “大数据”;
System.out.println(str1.equals(str2));
注意:==用来判断基本数据类型是否相等,而String属于引用数据类型。
equals专门用来判断两个字符串的值是否相等。
1.5.4逻辑运算符
&、|、!、&&、||
比较运算符是用来对运算符左右两个变量的值进行比较,得到结果是boolean类型,因为无论是何种比较,结果只有真或假两种。
1.6.三目运算
表达式 ? 结果1 :结果2;
例如:String str1 = “欣知”;
String str2 = “架构师”;
int num1 = str1.equals(str2) ? 521 : 666;
System.out.println(num1);
?是三目运算符,当表达式结果为true,则执行?后面的代码;当表达式结果为false,则执行:后面的代码。
1.7.Scanner的使用
在程序运行中,如何接收用户键盘输入的值?
使用Scanner
第一步:导入Scanner类
import java.util.*;
第二步:创建Scanner对象
Scanner input = new Scanner(System.in);
第三步:获得键盘输入的数据
int now = input.nextInt();
1.8.练习题
1.需求说明
使用Scanner类获取键盘输入的会员卡号,并将该数据存储在变量中,输出这个变量的信息
2.需求说明
使用Scanner类获取键盘输入的账号密码,将该数据存储在变量中,输出这个账号以及密码
[老王讲IT 性感有魅力]