java基本数据类型
java有8种数据类型 有6种数值类型,还有两种一种为字符类型,一种为布尔类型
数值类型-整数类型 浮点数类型
public class dataType {
//----成员变量
// /---整形--///
int i = 0;// 整形
short s = 1;// 短整型
long l = 2000L;// 长整形
byte x = 1;// byte型 分配的内存空间最少
// /---浮点类型---///
float f = 1.78F;// 单精度浮点型
double d = 1.23322D;// 双精度浮点型
// /---布尔类型--///
boolean a;// 默认为true
// /---字符类型---///
char c = 'd';// 字符类型用于存储单个字符,多个字符为字符串,系统分配两个字节内存空间
final boolean B = true;// 常量
// 当定义常量时如果是成员变量,就需要对该常量赋值,不然会出现异常,常量指在程序运行当中不会被改变的值
public static void main(String[] args) {
//--局部变量
int i=0;
//局部变量可与成员变量名相同当需要用到成员变量时需要this.成员变量
//this泛指当前对象
}
}
Java运算符
单目运算符:单目运算符是运算所需变量为一个的运算符,又叫一元运算符
public class Operator {
int i=0; //赋值运算符 是一个二元运算符其意是将右边的值付给左边的变量
static int s=150;
static int j=30;
public static void main(String[] args) {
//算数运算符 加 除 取余 减 乘 除法运算时0不可以做除数否则将出现异常
System.out.println(s+j);
System.out.println(s/j);
System.out.println(s%j);
System.out.println(s-j);
System.out.println(s*j);
}
}
自增和自减运算符
自增和自减是单目运算符
public static void main(String[] args) {
int b=4;
int a=b++;//b的值先付给a 然后再自加1 a的值是等于4 先参与表达式的运算在去加1
System.out.println(a);
}
public static void main(String[] args) {
int b=4;
int a=++b;//b的值先加一 在参与表达式的运算 所以a的值为5
System.out.println(a);
}
自减也是同样的道理
比较运算符
public class Compare {
//比较运算符算是一种二元运算符 用于判断变量之间的信息的比较,常用语逻辑判断 比较运算符总是返回的boolean类型
public static void main(String[] args) {
int a=4;
int b=5;
System.out.println("a>b?"+(a>b));
System.out.println("a<b?"+(a<b));
System.out.println("a<=b?"+(a<=b));
System.out.println("a>=b?"+(a>=b));
System.out.println("a==b?"+(a==b));
System.out.println("a!=b?"+(a!=b));
}
}
逻辑运算符
public class Logic {
//逻辑运算符 总是返回boolean类型
public static void main(String[] args) {
//&&与 || 或 !非
int a=1;
int b=2;
if((a>b)&&(a>b)){
System.out.println("true1");
//两个同时为true才会执行
}
if(a>b||b>a){
System.out.println("true2");
//一个为true可以执行
}
if(a!=b){
//!是一元运算符其他都是二元运算符
System.out.println("true3");
}
}
}
位运算符
位运算符用来对二进制位进行操作 ,Java中提 供 了 如 下所 示 的 位 运 算符 :
位 运 算 符 (>>,<<,>>>,&,|,^,~ ) ,位运 算 符 中 ,除 ~ 以 外 ,其余 均 为 二 元 运 算 符 。 操 作 数 只 能 为 整 型 和字 符 型 数 据 。
int a=10;
int b=a<<2;//把a向左移动两位
int c=a>>1;//把a向右移动1位
System.out.println(b+":"+c);
输出结果:40:5
移位能让用户实现整数除以或者乘以2的n次方的效果,例如y<<2就跟y*4的效果相同,y>>1就跟y/2的效果相同,总之一个数左移n位就是将这个数乘以2的n次方,右移n位就是将这个数除以2的n次方.
不用其他变量实现两个变量的转换
public class Example {
public static void main(String[] args) {
int a=1;
int b=2;
a=a^b;
System.out.println(a);
b=b^a;
System.out.println(b);
a=a^b;
System.out.println(a);
}
}
三元运算符
public class BitwiseOperators {
//三元运算符是jAVA里面唯一的三目运算符 用作与判断
//条件表达式成立时取第一个值不成立时取第二个值
public static void main(String[] args) {
int a=123;
int b=100;
int c=a>b?100:200;
System.out.println(c);
//三元运算符等价于if else
if(a>b){
System.out.println(100);
}else{
System.out.println(200);
}
}
}
判断数字的奇偶性
public class Examples {
//根据一个数字能够被2除的余数来判断一个数字的奇偶性 余数为0为偶数 不为0为奇数
//这里用三元运算符来做判断
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
long l=scanner.nextLong();
String text=(l%2==0)?"这个数为偶数":"这个数为奇数";
System.out.println(text);
}
}
自动类型转换
/**
* 自动类型转换
* 数据类型根据占用存储空间大小来分不同等级,
* 占用空间小的级别低,占用空间大的级别高 ,
* 自动类型转换遵循从低级到高级转换的规则(隐式类型转换)
* 反之则是强制类型转换(显式类型转换)
*/
public class Test {
public static void main(String[] args) {
int a=152;
float b=7;
System.out.println(a+b);
short s=512;
byte by=(byte) s;
System.out.println(by);
}
}