2020-12-04 java基本语法

定义标识符的规则:
由(Unicode)字母、数字、_、 $组成。不能由数字开头
不能是Java中的保留字(关键字)
大小写敏感,长度无限制

在这里插入图片描述
为什么Java成员变量声明时可以不用赋值,而局部变量声明时一定需要赋值
https://blog.csdn.net/AlbenXie/article/details/100161019?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160708005119724816675405%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=160708005119724816675405&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-1-100161019.first_rank_v2_pc_rank_v29&utm_term=java%E4%B8%AD%E4%B8%BA%E4%BB%80%E4%B9%88%E5%B1%80%E9%83%A8%E5%8F%98%E9%87%8F%E9%9C%80%E8%A6%81%E8%B5%8B%E5%80%BC%E6%89%8D%E8%83%BD%E4%BD%BF%E7%94%A8%EF%BC%8C%E8%80%8C%E7%B1%BB%E6%88%90%E5%91%98%E5%8F%98%E9%87%8F%E4%B8%8D%E9%9C%80%E8%A6%81%EF%BC%9F&spm=1018.2118.3001.4449
常量只能赋值一次(初始化)

类静态成员常量只能在定义时初始化

方法中的常量(局部常量)可以在定义时初始化,也可以先定义,后初始化

++a,–a

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
111
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

========================================================

数据类型转换

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
字符型和字符串型不同
char和string不同
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

=========================================================

数组的初始化

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
???????????????????????????

二维数组的创建
在这里插入图片描述
在这里插入图片描述

进制转换

在这里插入图片描述
在这里插入图片描述

原码、补码、反码

所有数字在计算机底层都以二进制形式存在。一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1。

Java整数常量默认是int类型,当用二进制定义整数时,其第32位是符号位;当是long类型时,二进制默认占64位,第64位是符号位。

因为机器数是带符号的,因此机器数与一个数的“二进制值”还是有区别的。

计算机以补码的形式保存所有的整数。

正数的原码、反码、补码都相同

负数的补码是其反码加1。

1、原码

原码即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:

2、反码

正数的反码是其本身

负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.

3、补码

正数的补码就是其本身

负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)

为什么要使用原码、反码、补码表示形式呢?

计算机辨别"符号位"显然会让计算机的基础电路设计变得十分复杂! 于是人们想出了将符号位也参与运算的方法. 我们知道, 根据运算法则减去一个正数等于加上一个负数, 即: 1-1 = 1 + (-1) = 0 , 所以机器可以只有加法而没有减法, 这样计算机运算的设计就更简单了.

0000 0000:0

0000 0001 ~ 0111 1111 : 1~ 127

1000 0001 ~ 1111 1111 : -127 ~ -1

1000 0000:-128

(-127) - (1) = -128

(1000 0001  - (0000 0001)= (1000 0000)

特殊值:

-1-127的结果应该是-128, 在用补码运算的结果中, [1000 0000]补 就应该是-128.

但是此时-128,如果用补码到反码,再到原码去计算是不对的,所以-128是个特殊值,记住它

自增运算

1)

//自增特例

class Test02_Iadd{
public static void main(String[] args){
int i = 1;
/*(1)先算右边
①先取i的值,放到“操作数栈”中
②修改i变量的值,加1 i=2
(2)再算赋值
把刚才“操作数栈”中值赋值给i i=1
*/
i = i++;
System.out.println(i);
}
}
(2)

// 自增运算问题

class Test03_Iadd2{
public static void main(String[] args){
int i = 1;
/*
(1)先算右边
①i++
A:先取i的值“1”,放到“操作数栈”中
B:立刻自增 i=2
②++i
A:先自增 i = 3
B:再取出目前i的值“3”,放到“操作数栈”中
③i++
A:先取i的值“3”,放到“操作数栈”中
B:立刻自增 i=4
④先算乘法
先弹出最上面的两个进行乘法运算,结果是9,然后把9压回去“操作数栈”中
⑤再算加法
把“操作数栈”中 9 和 1进行加法 = 10
(2)把最后的结果赋值给j
*/
int j = i++ + ++i * i++;
System.out.println(i);
System.out.println(j);

}

}

(3)

//自增运算问题

class Test04_Iadd3{
public static void main(String[] args){
int j = 1;
/*
j += ++j * j++;相当于
j = j + (++j * j++);
(1)先算右边
①先取j=1的值
②++j
A:j自增 j=2
B:取j=2的值
③j++
A:先取j=2的值
B:自增j=3
④乘法
2*2 = 4
⑤加法
1 + 4
⑥赋值
j = 5
*/
j += ++j * j++;
System.out.println(j);
}
}

转义字符

特点:一般用在类或方法的上方,可以在帮助文档中显示

说明:\n表示形式:+符号

常见的转义字符:

\n 换行符
\t 制表符
’ 一个 ’ 如: System.out.println("性别:‘男’ ");
" 两个 " 如:System.out.println("姓名:“张三” ");
\r 在当前行的最前面进行显示。前面有数据则进行覆盖。 如:System.out.println(“你是一只小狗\r它是”); 输出结果:它是一只小狗

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 动态数组是一种可以根据需要动态增加或减少大小的数组。在Java中,动态数组可以使用ArrayList类来实现。ArrayList类提供了一些方法来添加、删除、获取和修改元素。与普通数组不同的是,ArrayList可以自动调整大小,因此不需要手动管理数组大小。 ### 回答2: 在Java中,数组是存储一组同类型元素的有效数据结构。通常,当我们需要定义数组但无法确定其长度时,可以使用动态数组。与静态数组相比,动态数组可以在程序运行时动态地改变其大小。它不需要分配整个内存块,而是可以按需增加或减少其大小。Java通过ArrayList类来实现动态数组。 要使用ArrayList类,需要导入Java.util包,然后定义一个ArrayList变量。与静态数组不同,对动态数组进行元素的添加或删除不需要重新定义整个数组。因此,对于频繁变化的数据结构,动态数组是一种更为灵活和高效率的选项。 ArrayList类有许多有用的方法,例如add(),remove(),size(),get()等。使用add()方法可以将一个元素添加到动态数组的末尾。如果需要在指定位置添加元素,则可以使用add(int index, Object element)方法。remove()方法可以从数组中删除一个元素。size()方法可以返回动态数组目前的大小,而get()方法可以按照索引值返回数组中的元素。 虽然动态数组的使用便捷和高效,在使用时需要注意一些细节问题。因为动态数组内部使用了一个数组,所以频繁地添加和删除元素会导致内部数组的扩充和缩小,从而降低性能。在处理大量数据时,我们应该考虑使用其他数据结构,例如链表。 总之,动态数组在Java编程中非常常用,特别是在需要不确定数组长度的情况下。熟练掌握动态数组的使用方法,可以提高代码的效率和可读性,同时也丰富了Java的数据结构知识。 ### 回答3: 动态数组,也称为可调整数组,是一种支持动态内存分配的数组类型。与静态数组不同,动态数组的大小在程序运行时可以动态调整。在Java中,动态数组可以使用数组列表(ArrayList)或Vector来实现。 ArrayList是Java中常用的动态数组类。声明和初始化一个ArrayList的方法如下: ```java ArrayList<String> list = new ArrayList<String>(); ``` 在这个示例中,ArrayList中存储的是字符串类型的元素。如果要存储其他类型的元素,只需相应地将“String”替换为相应的类型即可。 向ArrayList中添加元素的方法是“add”方法。例如,在上面的示例中,我们可以使用以下代码向ArrayList中添加元素: ```java list.add("apple"); // 添加元素"apple"到列表中 ``` 获取ArrayList中元素的方法是“get”方法。例如: ```java String element = list.get(0); // 获取列表中索引为0的元素 ``` 需要注意的是,ArrayList和Vector都是动态数组类型,它们的区别在于线程同步。Vector是线程安全的,而ArrayList非线程安全。因此,在多线程环境下使用动态数组时,建议使用Vector。 除了ArrayList和Vector之外,还有其他的动态数组实现方式,比如LinkedList、CopyOnWriteArrayList等。 总的来说,动态数组是一种非常常用的数据结构类型,它具有动态调整大小的优势,适用于需要频繁插入和删除元素的情况。在Java中,我们可以使用ArrayList或Vector来实现动态数组,并根据需要选择合适的实现方式。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值