内存是如何存放数据的
电脑使用内存来记忆计算时所用的数据的,内存存放数据就像我们在宾馆开房间一样,有单人间、双人间、总统套间等不同的类型,客户入住不同类型的房间就像是数据根据需求(即数据类型)在内存中为它申请一个适合的空间
怎样找到存入内存的数据呢??有人会想到内存地址,这是计算机寻址时才会用到的;内存地址相对于人来说不方便记忆,这时候我们可以对不同的数据类型开辟不同大小的内存空间,并给每一个所开辟的空间进行命名(即定义变量名),通过这些定义的变量名我们可以快速找到所需要的数据
使用变量的步骤:
- 声明变量,就是根据不同的数据类型在内存中开辟空间
- 赋值,把数据存储到对应的内存空间中
- 使用变量,将对应内存中的数据取出使用、重新赋值等操作
//类名使用帕斯卡命名法,每个词字母都要大写
public class Final{
public static void main(String [] args){
//定义一个常量PAI
final double PAI=3.14;
//变量名使用驼峰命名法,首个单词字母小写其他单词首字母大写
double roundRadius = 5.5;
//计算面积
double area=PAI*roundRadius*roundRadius;
//计算周长
double perimeter=PAI*roundRadius*2;
System.out.println("圆的面积:"+area+"\n"+"圆的周长:"+perimeter);
}
}
常量的使用
常量顾名思义就是在程序执行的过程中它的值不会发生变化的量
字符串常量:在程序中用双引号引起来的内容
整数常量:就是数学中所有的整数
浮点型常量:所有的小数
字符常量:用单引号引起来的内容,单引号中只能放单个的数字、字母、标点符号等等
布尔常量:这玩意儿只有两个值,就是true和false
空常量:也就是null
注:1、常量名称通常都是全部大写
2、不同字符之间建议使用下划线("_")间隔开
3、常量只能被赋值一次,在定义常量的时候就对其进行初始化
变量的命名规则
- 只能包含数组,字母,下划线和$符号
- 变量名定义是一定要严格区分大小写
- 不能使用Java中已经存在的关键字(目前Java中有53个关键字,其中有48个关键字,例如void,switch,两个保留字goto,const,三个特殊直接量true,false,null)
建议: 1、最好不要用中文直接定义变量名
2、变量取名最好是见名知意
3、使用驼峰命名方法(就是第一个单词的首字母小写,后面其余的首字母都
大写)
Java中基本的常用运算符
操作符 | 描述 | 例子 |
+ | 加法 - 相加运算符两侧的值 | A + B 等于 30 |
- | 减法 - 左操作数减去右操作数 | A – B 等于 -10 |
* | 乘法 - 相乘操作符两侧的值 | A * B等于200 |
/ | 除法 - 左操作数除以右操作数 | B / A等于2 |
% | 取余 - 左操作数除以右操作数的余数 | B%A等于0 |
++ | 自增: 操作数的值增加1 | B++ 或 ++B 等于 21 |
-- | 自减: 操作数的值减少1 | B-- 或 --B 等于 19 |
自动类型转换
自动类型转换:Java程序在执行的时候,精度小的类型自动向精度大的数据类型转换
数据类型按精度大小排序:
char > int > long > float > double
byte > short > int > long > float > double
自动类型转换规则
1、在表达式中如果一个操作数为double类型,则整个表达式可以提升为double类型
2、满足自动类型转换的条件:两种类型相互兼容(如整型和浮点型)、目标类型精度大
于源类型精度
public class Change{
public static void main(String [] args){
int num = 14;
double sum = num;
System.out.println(sum);
}
}
输出结果:
强制类型转换
形式:(类型名)表达式,如int b = (int)10.2;
关系运算符
操作符 | 描述 | 例子 |
== | 检查如果两个操作数的值是否相等,如果相等则条件为真。 | (A == B)为假。 |
!= | 检查如果两个操作数的值是否相等,如果值不相等则条件为真。 | (A != B) 为真。 |
> | 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 | (A> B)为假。 |
< | 检查左操作数的值是否小于右操作数的值,如果是那么条件为真。 | (A <B)为真。 |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。 | (A> = B)为假。 |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。 | (A <= B)为真。 |
Boolean类型
boolean(布尔)类型只有两个值:true 和 false ,一般用于存储关系运算符的计算结果
例:表达式(3+40%6)>(9/2*3)的结果是什么? 结果:false
运算符的优先级
优先级 | 运算符 | 结合性 |
---|---|---|
1 | ()、[]、{} | 从左向右 |
2 | !、+、-、~、++、-- | 从右向左 |
3 | *、/、% | 从左向右 |
4 | +、- | 从左向右 |
5 | «、»、>>> | 从左向右 |
6 | <、<=、>、>=、instanceof | 从左向右 |
7 | ==、!= | 从左向右 |
8 | & | 从左向右 |
9 | ^ | 从左向右 |
10 | | | 从左向右 |
11 | && | 从左向右 |
12 | || | 从左向右 |
13 | ?: | 从右向左 |
14 | =、+=、-=、*=、/=、&=、|=、^=、~=、«=、»=、>>>= | 从右向左 |
注:当表达式中的运算符比较多并且自己无法确定执行运算符的优先级时,可以
用小括号(即“()”)来控制一下顺序