Java 快速入门指南

Java 入门指南

Java 程序基础操作

基本数据类型
  • 整数类型: byte short,int, long
  • 浮点数类型:float,double
  • 字符类型:char
  • 布尔类型:boolean
类型 字节数
byte 1
short 2
int 4
long 8
float 4
double 8
char 2

如果需要传递一个数字,没有定义变量类型

100  // 默认是 int 型

100L // 默认是 long 型

10.0 // 默认是 double 型

10.0f // 默认是 float 型
数据运算
整除

如果除数为 0 时,运行时则会报错,但编译不会。

int x = 25 / 3; // -> 8
取余
int y = 25 % 3; // -> 1
溢出

整数的范围有限制,如果计算超出了范围,就会溢出,溢出不会出现错误,但是结果不可控。
所以要调整变量的类型,让数字再类型的范围内运算就可以了。

System.out.println(2147483640 + 30); // -> -2147483626
System.out.println(2147483640L + 30L); // -> 2147483670
简写运算符

+= -= *= /=

x += 100; //  相当于 x = x + 100
x -= 100; //  相当于 x = x - 100
自增,自减

++ 写在前面或者后面是有区别的, ++ 写在前面是先加1在引用x、 否则就是先引用x再加1.

x++;  // x = x + 1;
x--;  // x = x - 1;
位移运算

在计算机中,都是二进制的表示形式,比如,int 类型的整数 5
00000000 00000000 00000000 00000101
可以对整数进行位移运算

x 向左移动 y 位 即 x = x * 2 y 2^y 2y

x 向右移动 y 位 即 x = x / 2 y 2^y 2y

int n = 5;
int a = n << 1; // 00000000 00000000 00000000 00001010 = 10  
int b = n << 2; // 00000000 00000000 00000000 00010100 = 20
int c = n >> 1; // 00000000 00000000 00000000 00000010 = 2 
位运算

位运算是按位进行与、或、非和亦或的运算

0 & 1 // 0
1 & 1 // 1
    
0 | 1 // 1

~0    // 1  按位取反
    
1 ^ 0 // 1
1 ^ 1 // 0    
三目运算符

b ? x : y

字符和字符串

char 是基本的数据类型,它占两个字节。

String 是引用类型,

String 一旦确定就不能更改了。

String s = "hello";
System.out.println(s);

s = "world";
System.out.println(s);

int len = s.length();

for (int i = 0; i < len; ++i)
    System.out.println(s.charAt(i));

这里变的不是字符串 s , 变得是 s 的指向。

可以使用 + 来实现字符串的拼接。

String s = "world!";
s = "hello " + s;
System.out.println(s);
数组
int[] vis;
vis = new int[4];  // 4 个大小的数组, 

int[] a = new int[19]; // 19 个大小的数组

所有数组的下标都是从 0 开始的

数组在内存地址上是连续的,所以就可以使用下标来取出具体的值。

知道了下标,也知道数组的起始位置,就可以推出来值在内存地址上的位置了。

image-20201102110621091

假设内存内置的起始地址是从 0 开始的(实际上并不是)

这里我们开了一个5个大小的数组,数组在内存地址上的起始位置是2,

现在我们想要取数组中 2 位置的值, 那么对应在内存地址上的位置就是 $ 2 + 2 = 4$, 所以只要在内存地址4的位置取值就可以了。

数组的优点:可以O(1) 的取数,修改数。

数组的缺点:如果删除一个数的时候,需要删除位置后面所有的数整体前移一位。

字符串数组

image-20201102150633462

names 包含3个元素,每个元素指向了一个字符串对象。

如果修改,那就是修改指向。

流程控制

输入和输出
System.out.println("Hello World!!!"); // 普通输出
int x = 10;
System.out.printf
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值