JAVA学习笔记二---数据类型和运算符
2.1 JAVA的数据类型
八大数据类型
整数类型:字节型byte(1个字节)、短整型short(2个字节)、整型int(4个字节)、长整型long(8个字节)
实数类型 :单精度浮点类型float(4个字节)、双精度浮点类型double(8个字节)
布尔类型:boolean(1个字节)
字符类型:char(2个字节)
复合数据类型
类class
接口interface
数组
注意:
1、byte的取值范围为:-128-+127
2、-42的转化为二进制:
42的二进制码为:00101010
-42就是先取反:11010101再加一11010110
(-42)10=(11010110)2
也就是负数的二进制就是这个数的绝对值的补码(反码加一)。
3、整数类型默认为int,而浮点数类型默认为double。
题目:long l=10;(可以)
long l=99999999999999;(不可以,99999999999999超过了int的最大值)
long l=99999999999999L;(可以)
float f=10.2;(不可以,浮点数默认为double)
float f=10.2f;
boolean类型只能赋值为true和false;
char c=97;(可以) char c='a';(可以)
4、各个类型的默认值
byte short int long 为0
float double 为0.0
boolean为false
char为'' (ASCII码为32)
强制类型转换 与 自动类型转换
double b=(double)10;(10本来应该为int,在这里强制转换为double)
byte b1=10;
byte b2=20;
byte b3=b1+b2;(错了,byte相加的结果已经转化为int类型了,因为相加很有可能超过)
byte b3=(byte)b1+b2;
2.2 JAVA的运算符
算术运算符
+ - * / %
逻辑运算符
> < >= =< != ==
&& & || |
(&&是短路的,A&&B只要一个为false,就可以下结论为false)
(&是非短路的,A&B得有两个都是false,才可以下结论为false)
位运算符
<< >> >>> & | ^ ~
1>>1往右移一位 0000 0001 0000 0000
10>>2往右移两位 0000 1010 0000 0101
&与 |或 ^异或 ~取反
= += -= /= *= %=
三元运算符
i>=10?1:0
2.3 流程控制
if...else if...else的使用
switch case的使用
编写一个程序,从控制台获取一个数字,判断他是0还是1还是2。
if...else if...else的使用如下
import java.util.Scanner;
/**
* 编写一个程序,从控制台获取一个数字,判断他是0还是1还是2。
* @see www.baidu.com
* @since Version 2.0 2020.02.12
* @author iszhangyongxin
*
*/
public class HelloWorld {
/**
* 程序的main函数
* @return void
* @param args
*/
public static void main(String args[]) {
System.out.println("请输入一个数字:");
Scanner scan=new Scanner(System.in);
int i=scan.nextInt();
if(i==0){
System.out.println("输入的是0");
}
else if(i==1){
System.out.println("输入的是1");
}
else if(i==2){
System.out.println("输入的是2");
}
else{
System.out.println("输入非法");
}
}
//类的结尾
}
switch case的使用如下:
import java.util.Scanner;
/**
* 编写一个程序,从控制台获取一个数字,判断他是0还是1还是2。
* @see www.baidu.com
* @since Version 2.0 2020.02.12
* @author iszhangyongxin
*
*/
public class HelloWorld {
/**
* 程序的main函数
* @return void
* @param args
*/
public static void main(String args[]) {
System.out.println("请输入一个数字:");
Scanner scan=new Scanner(System.in);
int i=scan.nextInt();
switch (i){
case 0:
System.out.println("输入的是0");
break;
case 1:
System.out.println("输入的是1");
break;
case 2:
System.out.println("输入的是2");
break;
default:
System.out.println("输入非法");
break;
}
//类的结尾
}
}