Java基础学习1——基本结构、基本数据类型

本文详细介绍了Java程序的基本结构,包括包声明、类库导入、主类与方法、变量定义及使用,深入解析了8种基本数据类型的特性与定义方式。涵盖了整数、小数、字符、布尔类型,并阐述了类型转换、运算符的使用规则,是一份全面掌握Java基础语法的指南。

Java程序的基本结构:

1、声明包
2、导入类库
3、主类
4、主方法(main方法),包含在主类中
5、变量
6、注释

8种基本数据类型

定义变量格式1:数据类型 变量名字;
定义变量格式2:数据类型 变量名字 = 初值;
定义常量格式:final 数据类型 变量名字 初值;

整数类型

//占用1个字节,取值范围-128~127
byte byte1 = 1;
byte byte2;

//常量
final byte byte3 = 5;

//占用2个字节,取值范围-32768~32767
final short short1 = 32766;

//占用4个字节,取值范围-2147483648~2147483647
int int1 = 2147483649L; 

//占用8个字节,取值范围在-9223372036854775808~9223372036854775807
long long1 = 2147383649L;

小数类型

//占用4个字节,能表示8位有效数值
float float1 = 1.123456789F;

//占用8个字节,能表示17位有效数值
double double1 = 1.1234567891234567;

字符类型

//占用2个字节,表示一个Unicode字符,英文字母、阿拉伯数值、汉字、标点符号、特殊符号等等
char char1 = ‘a’;
char char2 = ‘王’;

布尔类型

占用字符节数不确定,可以想象成1个字节,取值范围:ture(表示yes)和false(表示no)

boolean boolean1 = true;

类型转换

类型转换:隐式类型转换和显式(强制)类型转换
具体规则:byte→short(char)→int→float→double
前面的类型转后面的类型进行隐式转换
后面的类型转前面的类型必须进行显式(强制)转换

byte n1 = 5;
double n2 = n1;     //隐式转换

double n3 = 5.12345;
byte n4 = (byte)n3;     //显式(强制)转换

运算符

运算符:赋值运算符、算术运算符、自增和自减运算符、关系运算符、逻辑运算符、位运算符

加减乘除

int a = 1 + 2 * 3 – 6 / 2; //先乘除再加减,运算结果a=4

求商

int b = 6 / 4;

求余数

int c = 6 % 4;

自增运算

a++后,a = 5

自减运算

a--后,a = 4

关系运算

关系运算符:>(大于)<(小于) >=(大于或等于)<=(小于或等于)==(等于)!=(不等于)
关系运算的结果为true或者false

System.out.println(“ 1 < 2 : ” + ( 1 < 2 ));              // 1 < 2 : true
System.out.println(“ 1 > 2 : ” + ( 1 > 2 ));              // 1 > 2 : false
System.out.println(“ 1 <= 2 : ” + ( 1 <= 2 ));            // 1 <= 2 : true
System.out.println(“ 1 >= 2 : ” + ( 1 >= 2 ));            // 1 >= 2 : false
System.out.println(“ 1 == 2 : ” + ( 1 == 2 ));            // 1 == 2 : false
System.out.println(“ 1 != 2 : ” + ( 1 != 2 ));            // 1 != 2 : true

逻辑运算

逻辑运算符:&&(逻辑与) ||(逻辑或) !(逻辑非)

System.out.println(“(6==6)&&(6==7):”+((6==6)&&(6==7)));     //(6==6)&&(6==7):false
System.out.println(“(6==6)||(6==7):”+((6==6)||(6==7)));     //(6==6)||(6==7):true
System.out.println(“!(6==6):”+! (6==6));                    //!(6==6):false

三元运算符

int max = 1 > 2 ? 1 : 2 ;          //max = 2
int max = 1 < 2 ? 1 : 2 ;          //max = 1

位运算

针对int型,如果是byte、short首先转成int,int型占4字节32位
&位与运算、|位或运算、^位异或运算、~位取反运算、<<左移运算、>>右移运算

System.out.println(“0b10 & 0b11,”+Integer.toBinaryString(0b10 & 0b11));     //0b10 & 0b11 ,10
System.out.println(“0b10 | 0b11,”+Integer.toBinaryString(0b10 | 0b11));     //0b10 | 0b11 , 11
System.out.println(“0b10 ^ 0b11,”+ Integer.toBinaryString(0b10 ^ 0b11));    //0b10 ^ 0b11 , 10
System.out.println(“~ 0b10,”+Integer.toBinaryString(~ 0b10));               //~ 0b10 ,11111111111111111111111111111101    
System.out.println(“0b1111 >> 2,”+Integer.toBinaryString(0b1111 >> 2)) ;    //0b1111 >> 2 , 11
System.out.println(“0b1111 << 2,”+Integer.toBinaryString(0b1111 << 2)) ;    //0b1111<<2 , 111100

//针对一个正整数,a<<n = a乘以2的n次幂; a>>n =a除以2的n次幂(当移除的位都为0时)

System.out.println(“3 << 2 = 3 * 2 * 2,”+(3 << 2));  //3 << 2 = 3 * 2 * 2 , 12
System.out.println(“8 >> 2 = 8 / 2 / 2,”+(8 >> 2));  // 8 >> 2 = 8 / 2 / 2 , 2,

赋值运算符(==)

扩展后的赋值运算符

n1 += 2;  // n1 = n1 + 2;
n1 -= 2;  // n1 = n1 - 2;
n1 *= 2;  // n1 = n1 * 2;
n1 /= 2;  // n1 = n1 / 2;
n1 %= 2;  // n1 = n1 % 2;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值