初识Java

一、数据类型与变量

1、数据类型

数据类型关键字内存范围

字节型

byte1字节-128 ~ 127
字符型char2字节0 ~ 65535
短整型short2字节-32768 ~ 32767
整型int4字节-2^31 ~ 2^31-1
长整型long8字节-2^63 ~ 2^63-1
单精度浮点型float4字节一般不关注
双精度浮点型double8字节一般不关注
布尔型boolean没有明确规定true和false

2、变量

格式:

数据类型 变量名 = 初始值;

例子:

int a = 10;
char c = 'A';

a = 100; // 上面a已经定义,可以直接赋值

int a1 = 1, a2 = 2, a3 = 3; // 一行内定义多个相同类型的变量

float f = 1.0f; //F也可以

System . out . println (a );
System . out . println (c );
System . out . println (f );

注意:

1、在系统下int 都是4个字节,long都是8个字节

2、整型默认为int,浮点型默认为double

3、float在定义时需加f或F

4、long在定义时可加L或l,建议加L

3、类型转换

当参与运算的数据类型不同时,就会进行类型转换

3.1、自动类型转换

特点:数据范围小的值转为数据范围大的时会自动转换

例子:

int a = 10;

long b = 10L;

b = a; // a的范围小,b的范围大

// a = b; 编译失败

3.2、强制类型转换

特点:数据范围大的向数据范围小的转换

例子:

int a = 10;

long b = 10L;

// a = b; 编译失败

a = (int)b; // 强制类型转换

注意:强制类型转换可能会造成精度丢失

4、类型提升

不同数据类型进行运算时,数据类型小的会提升到数据类型大的

例子:

int a = 10;

long b = 20;

int c = a + b;  // 错误,a+b的值被提升为long

long d = a + b; // 正确

byte b1 = 10;

byte b2 = 20;

byte b3 = b1 + b2; // 错误,byte和short低于四个字节,会被提升成为int

byte b4 = (byte)(b1 + b2); // 正确

5、字符串类型

例子:

// int转成String
int num = 10;
String str1 = num + "";
//方法一
System.out.println(str1);
//方法2
System.out.println(String.valueOf(num));

// String转成int
String str = "7";
System.out.println(Integer.parseInt(str));

String str1 = 10 + 20 + "ABC"; 
String str2 = "ABC" + 10 + 20; 

System.out.println(str1);// 30ABC  先计算两个整数再和字符串拼接
System.out.println(str2);// ABC1020  第一个是字符串,拼接后也是字符串

二、运算符

Java中的运算符可分为:算术运算符、关系运算符、逻辑运算符、位运算符、移位运算符、条件运算符。

1、算术运算符

1.1、四则运算符(+ - * / %)

例子:

int num1 = 10;  
int num2 = 3;  
  
// 使用加法运算符  
System.out.println(num1 + num2);  
  
// 使用减法运算符   
System.out.println(num1 - num2);  
  
// 使用乘法运算符  
System.out.println(num1 * num2);  
  
// 使用除法运算符  
System.out.println(num1 / num2);  
  
 // 使用取模运算符  
System.out.println(num1 % num2);  

1.2、增量运算符(+= -= *=  /= %=)

例子:

int a = 10;

System.out.println(a += 3);

 System.out.println(a -= 3);

System.out.println(a *= 3);

System.out.println(a /= 3);

System.out.println(a %= 3);

1.3、自增自减运算符(++ --)

例子:

int a = 5;

System.out.println(a++);

System.out.println(++a);

System.out.println(a--);

System.out.println(--a);

2、关系运算符

Java 中的关系运算符用于比较两个值之间的关系,并返回一个布尔值(true 或 false)。

例子:

int a = 5;
int b = 10;

// 使用等于运算符
System.out.println(a == b); // 输出: false

// 使用不等于运算符
System.out.println(a != b); // 输出: true

// 使用大于运算符
System.out.println(a > b); // 输出: false

// 使用小于运算符
System.out.println(a < b); // 输出: true

// 使用大于等于运算符
System.out.println(a >= b); // 输出: false

// 使用小于等于运算符
System.out.println(a <= b); // 输出: true

3、逻辑运算符

Java 的逻辑运算符包括&&、||、!、^。

3.1、逻辑与(&&)

如果两个操作数都为true,则结果为真,其余结果为假。

例子:

boolean a = true;

boolean b = false;

boolean result = a && b; // 因为 a 为 true,但 b 为 false

System.out.println(result); // 输出: false

3.2、逻辑或(||)

如果两个操作数有一个为true,则结果为真。

例子:

boolean a = true;
boolean b = false;
boolean result = a || b; // 因为 a 为 true
System.out.println(result); // 输出: true

3.3、逻辑非(!)

如果条件为true,结果为false;条件为false,结果为true。

例子:

boolean a = true;
boolean result = !a; // 因为 a 为 true,逻辑非之后变为 false
System.out.println(result); // 输出: false

4、位运算符

Java的位运算符用于直接对整数类型的二进制位进行操作。

4.1、按位与&

只有当两个相应的二进制位都为1时,结果位才为1。

例子:

int a = 5; // 5 = 0101 
int b = 7; // 7 = 0111 
int c = a & b; // 5 = 0101 
System.out.println(c); // 输出: 5

4.2、按位或|

只有两个相应的二进制位中至少有一个为1时,结果位才为1。

例子:

int a = 5;  // 5 = 0101
int b = 7; // 7 = 0111
int c = a | b; // 7 = 0111 
System.out.println(c); // 输出: 7

4.3、按位取反~

对该二进制位进行取反操作。

例子:

int a = 5; //5 = 0101
int b = ~a; // 补码 1010 反码 1001 原码 1110
System.out.println(b); // 输出: -6 

4.4、按位异或^

当两个相应的二进制位不同时,结果位才为1。

例子:

int a = 5; // 5 = 0101
int b = 7; // 7 = 0111
int c = a ^ b; // 2 = 0010
System.out.println(c); // 输出: 2

5、移位运算符

Java的移位运算符包括左移(<<)、右移(>>)和无符号右移(>>>)。

5.1、左移<<

左移运算符将整数的所有位向左移动,右侧用0补充。

例子:

int a = 5; // 5 = 0101
int b = a << 1; // 10 = 01010
System.out.println(b); // 输出: 10

5.2、右移>>

右移运算符将整数的所有位向右移动,左侧用符号位补充(正数补0,负数补1)。

例子:

int a = 5; // 5 = 0101
int b = a >> 1; // 2 = 0010
System.out.println(b); // 输出: 2

int c = -5; //-5 补码 1101 反码 1100 原码 1011
int d = c >> 1; // -3 补码 1101 反码 1100 原码 1011
System.out.println(d); // 输出: -3

5.3、无符号右移>>>

无符号右移运算符将整数的所有位向右移动,左侧用0补充。

例子:

int a = 5; // 5 = 0101
int b = a >>> 1; // 2 = 0010
System.out.println(b); // 输出: 2

6、条件运算符

表达式 1 ? 表达式 2 : 表达式 3
当表达式 1 的值为 true , 整个表达式的值为 表达式 2 的值;
表达式 1 的值为 false , 整个表达式的值为 表达式 3 的值。

例子:

int a = 5;
int b = 7;
int max = (a > b) ? a : b;
System.out.println(max);  // 输出 7

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值