java 数据类型和运算符
1.注释
单行注释: //哈哈哈
多行注释: /* 啦啦啦 */
文档注释: /** */注释中包含一些说明性的文字及一些JavaDoc标签(后期写项目时,可以生成项目的API)
2.常量
关键字final定义
1 final double PI = 3.14;
3.变量和常量命名规范
所有变量、方法、类名:见名知意
类名:首字母大写和驼峰原则
public class PersonFather{ }
局部变量、类成员变量、方法名:首字母小写和驼峰原则
int setSize = 100;
常量:大写字母和下划线:如 MAX_VALUE
4.数据类型
引用数据类型的大小统一为4个字节,记录的是其引用对象的地址!
5.整形变量/常量
类型 |
占用存储空间 |
表数范围 |
byte |
1字节 |
-27 ~ 27-1(-128~127) |
short |
2字节 |
-215 ~ 215-1(-32768~32767) |
int |
4字节 |
-231 ~ 231-1 (-2147483648~2147483647)约21亿 |
long |
8字节 |
-263 ~ 263-1 |
八进制整数,要求以 0 开头,如:015
十六进制数,要求 0x 或 0X 开头,如:0x15
二进制数,要求0b或0B开头,如:0b01110011
java语言的整型常数默认为int型,声明long型常量可以后加‘ l ’或‘ L ’
1 int a = 17; 2 int b = 017; 3 int c = 0x17; 4 long d = 123456789999L;//用大写L好区分 小写l容易与数字1搞混
6.浮点型变量/常量
类型 |
占用存储空间 |
表数范围 |
float |
4字节 |
-3.403E38~3.403E38 |
double |
8字节 |
-1.798E308~1.798E308 |
float类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足需求。绝大部分应用程序都采用double类型。浮点型常量默认类型也是double。
1 //使用科学记数法给浮点型变量赋值 2 double f = 314e2; //314*10^2-->31400.0 3 double f2 = 314e-2; //314*10^(-2)-->3.14
float类型赋值时需要添加后缀F/f
1 float f = 3.14F; 2 double d1 = 3.14; 3 double d2 = 3.14D;
7.字符型
转义符 |
含义 |
Unicode值 |
\b |
退格(backspace) |
\u0008 |
\n |
换行 |
\u000a |
\r |
回车 |
\u000d |
\t |
制表符(tab) |
\u0009 |
\“ |
双引号 |
\u0022 |
\‘ |
单引号 |
\u0027 |
\\ |
反斜杠 |
\u005c |
8.boolean型
boolean类型有两个常量值,true和false,在内存中占一位(不是一个字节),不可以使用 0 或非 0 的整数替代 true 和 false ,这点和C语言不同。 boolean 类型用来判断逻辑条件,一般用于程序流程控制 。
请不要这样写:if ( flag == true ),只有新手才那么写。关键也很容易写错成if(flag=true),这样就变成赋值flag 为true而不是判断!老鸟的写法是if ( flag )或者if ( !flag)
9.逻辑运算符
运算符 | 说明 | |
逻辑与 | &( 与) | 两个操作数为true,结果才是true,否则是false |
逻辑或 | |(或) | 两个操作数有一个是true,结果就是true |
短路与 | &&( 与) | 只要有一个为false,则直接返回false |
短路或 | ||(或) | 只要有一个为true, 则直接返回true |
逻辑非 | !(非) | 取反:!false为true,!true为false |
逻辑异或 | ^(异或) | 相同为false,不同为true |
10.位运算符:当别人以后再问你8怎么最快变成2时别说8/4了,请说右移2位,位运算符是直接操作二进制位,所以速度最快。
位运算符 | 说明 |
~ | 取反 |
& | 按位与 |
| | 按位或 |
^ | 按位异或 |
<< | 左移运算符,左移1位相当于乘2 |
>> | 右移运算符,右移1位相当于除2取商 |
1 int a = 3*2*2; 2 int b = 3<<2; //相当于:3*2*2; 3 int c = 12/2/2; 4 int d = 12>>2; //相当于12/2/2;
11.自动类型转换
自动类型转换指的是容量小的数据类型可以自动转换为容量大的数据类型
12.强制类型转换
强制类型转换,又被称为造型,用于显式的转换一个数值的类型。在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出。
1 double x = 3.14; 2 int nx = (int)x; //值为3
13.键盘输入
1 import java.util.Scanner; 2 /** 3 * 测试获得键盘输入 4 * @author CHB 5 * 6 */ 7 public class TestScanner { 8 public static void main(String[] args) { 9 Scanner scanner = new Scanner(System.in); 10 System.out.println("请输入名字:"); 11 String name = scanner.nextLine(); 12 } 13 }