变量和数据类型
一、为什么要使用变量
程序来源于生活,用于解决生活中的问题。在生活中比如想去存储班级中所有的学生姓名到计算机中,那么就需要在计算机内存中开辟空间,用于数据的存储。那开辟的这个空间,就称为变量;
二、什么是变量
计算机存储数据的最小单元;
变量包含:变量类型,变量名,变量值;
但是当我们需要使用变量时,如何快速找到变量,这就需要通过变量名来实现。如何理解变量类型,变量名,变量值三者的关系
当我们外出旅行需要办理酒店入住时,首先肯定会告知工作人员我们需要什么类型答房间,大床房,双人房,单人房,家庭房等,再告知工作人员我们入住人的名字,接着工作人员为我们提供房间号码,最后成功办理入住。
上文中提到的房间型号对应变量类型,房间号对应变量名,入住人的名字和人数对应变量值,故此当我们要去酒店寻找朋友时,只需要知道房间号即可找到人,同理我们想要知道我们的变量值,只需要变量名即可。
三、变量的命名规则
总结语:字、下、美、人、数、骆驼有意义
变量首字母只能是,字母,下划线,美元符号,人民币符号
第二个字母可以是字母,下划线,美元符号,人民币符号,数字
当一个变量名命名由多个单词组成时要根据驼峰规则,比如myFristName
变量名要有意思,不能用关键字如public或class
四、变量可以在哪使用,如何使用?
1、在哪使用?
凡是需要向计算机内存中存储数据的情况,都可以声明变量。
2、如何使用?
方法一:
第一步:声明变量(相当于以指定的数据类型到内存中申请空间) 变量类型+变量名
int age;
第二步:对变量进行赋值
age = 100;
方法二:
两步合二为一:
声明+赋值:
int age = 100;
以上两种方法没有优劣之分,根据使用场景选择即可。
五、常用的数据类型
1、常用的基本数据类型有:
int(整型)、short(短整型)、long(长整型)、double(双精度浮点型)、float(单精度浮点型)、char(字符)、byte(字节)、boolean(布尔型)
2、如何分类呢?
六、常量
1、常量的定义
在生活中有一些值是固定后就不会再变化的,比如数学中求圆的面积的PI。或者求指数时的e。这些值都是固定不变的,在程序中如何定义这样的不变的值?即在运行过程中不被改变的量。
2、常量定义的语法
如下:
final 数据类型 常量名 = 常量值;
3、推荐做法:
①、常量名通常大写。
②、不同字符使用下划线分隔。
③、只能被赋值一次 ,通常定义是即对其初始化。
④、常量必须用final来修饰
final int NUM=10;
final 是常量定义的固定单词,固定跟在数据类型的前面
例如:
final double PI = 3.14;
int r = 2;
double mianJi = PI*r*r;
七、Scanner的用法
scanner的使用,可以接收用户键盘输入的值,使数据灵活起来
使用方法:
第一步、导入Scanner类
import Java.util.*;
第二步、创建Scanner对象
Scanner input = new Scanner(System.in);
第三步、获取键盘输入的数据
int noe = input.nextint();
import java.util.Scanner;
public class Test02 {
public static void main(String[] args){
Scanner inout= new Scanner(System.in);
System.out.print("请输入您的卡号:");
int cardNo = inout.nextInt();
System.out.println("您的姓名是:"+cardNo);
}
}
八、常用运算符
1、算术运算符
+、-、*、/、%、++、–
注:
- /取整数,%取余数
2)++相当于自增1;–相当于自减1
3)i+=2; 相当于每次自增2;i = i+2;
int num1 = 5
int num2 = 2
num1/num2=2(除法中的商)
num1%num2=1(除法中的余数)
++num1=6(自加:在自身的基础上加1)
--num2=1(自减:在自身的基础上减10)
++或–在前,先自加或自减,在使用
++或–在后,使用,再进行自加或自减
2、复合算术运算符
*+= 、-=、 = 、 /=、 %=
int num3= 5;
num3 += 2;
该代码的运行结果为:num3=7
其余同理
3、赋值运算符
=
1)、+号如果两边有一边是字符串,那么+号就相当于字符串的拼接;
2)、如果+号两边都是数字,相当于求和;
3)、=号在数学中表示的是判断是否相等,而在程序中,属于赋值运算符,是将=号右边的值赋给左边的变量;
public static void main(String[] args) {
int a = 9;
int b = 8;
int temp = 0;
System.out.println("交换前的两数为:" + "a=" + a + ",b=" + b);
temp = a;
a = b;
b = temp;
System.out.println("交换前的两数为:" + "a=" + a + ",b=" + b);
}
4、关系运算符
>、<、>=、<=、!=、==
== 含义:等于 判断: 5==6 结果:false
!= 含义:不等于 判断:5!=6 结果: true
< >= <= 的优先级大于 ==和!=
关系表达式的结果为布尔值
< >= <=只支持数值类型的数据比较
5、逻辑运算符
&& 与 || 或 !非
优先级顺序:!>&&>||
&& 与 规则 :两个操作都是true 结果才是true
|| 或 规则 :两个操作一个是true 结果才是true
!非 规则 :操作数为true ,结果为false
6、条件运算符(三目(元)表达式)
格式:条件?表达式1:表达式2
先判断条件,表达式1 如果是true,输出表达式1,如果是false,输出表达式2
int min ;
min = 5<7?5:7;
sYstem.out.println(min); ///min= 5
min = 10<7?10:7;
sYstem.out.println(min); ///min = 7