1.java的特性
java的跨平台
Java的发展史
我的第一个Java程序
Java的数据类型:
1·byte 8位 -128——127
2·short 16位 -32768——32767
3·int 32位 -2147483648——2147483647
4·long 64位 -9223372036853775808——9223372036853775807
标识符
标识符只能包含下划线,数字,美元符号
不能以数字开头
避开关键字
Java的运算符
加号+ 减号- 乘号* 除号/ 取余%
假设num1,num2中间用空格隔开
用double函数来定义其中的数值范围
next后的函数的第一个开头字母要大写
再来运算num1与num2的各各和,差,积,商与取余
最后输入sc.close来关闭输入
a++与++a
a++为先用后加,++a为先加后用
符号在前先算后用,符号在后先用算
“与,或和非”
&&:意为与,两者都为真,结果才为真
||:意为或,只要有一者为真,结果就是真
!:意为非,非真及假,非假及真
“短路现象”:当&&第一个出现假及结果一定为假。
当||第一个为真则结果一定为真
2进制中的
&:两者都为1,结果才为1
|:只要一者为1,结果就是1
~:0变1,1变0
^:异或,两者相同即为0,两者不同即为1
<< 左移后加移动几个位置
左移多出去掉(无论是什么)空位补0
>> 右移后加移动几个位置
右移多出去掉,正数补0,负数补1
>>> 无符号右移整体往右移空位补0,溢出去掉
Java的三元运算符
A ? B : C
A:一定是一个条件语句
若A为真则执行B
若A为假则执行C
例:
int a = 3;
int b =a>2 ? a++ : 8;
a=4 b=3
int a = 3;
int b = a>2 ? a-- : 8;
a = 2 b=3
数据类型转换
有两类
自动类型数据:一定不会丢失数据
强制类型转换:有可能会丢失数据
强制转换溢出导致输出成每个格子都为1
条件语句
if条件语句
if(条件1){语句1}
else{语句2}
switch条件语句
switch(表达式){
case 值1:
语句块1;
break;
case 值2:
语句块2;
break;
default:
语句块3;
break;
循环语句
语句1
while(条件){
语句2}
语句3
1->条件真->2->...条件真->2->条件假->3
语句1
do{
语句2}
while(条件)
语句3
语句
if(条件1){
语句2
}else if(条件2){
语句3
}else if(条件3){
语句4
}else{
语句5
}
语句6
Java的数组
1,数组
用new关键字进行内存分配
数组元素类型 数组名字[];
数组元素类型[] 数组名字;
数组元素的类型 数组名 =new 数组元素的类型【数组元素的个数】;
2,二维数组
数组元素类型 数组名字【】【】;
数组元素的类型【】【】 数组名字;
为行和列的组合(所用的地址指向了数组,其他更高维的数组也是如此由一个地址指向另一个地址或数组)
3,遍历数组
遍历数组是用于获取数组中的每个元素,用于for循环实现
4,数组的替换
替换数组元素
Arrays.fill(数组名,值);
替换数组部分元素
Arrays.fill(数组名,前索引,后索引,值);
前改后不改
使用fill()来替换数组元素
5,数组的排序
Arrays.sort(数组名);
6,复制数组
新数组名=Arrays.copyOf(旧数组名,新数组长度);
复制多或少时:空位补零,溢出去掉
复制数组部分元素
新数组名=Arrays.copyOf(旧数组名,前索引,后索引);
前有后没有
copyOfRange()方法
7,查询数组元素
Arrays.binarySearch(数组名,元素);
先排序在查询
查询数组指定数组
索引=ArraysbinarySearch(数组名,前索引,后索引,元素);
前(索引包)含(数组)后(索引)不(包)含(数组)
8,数组的排序
1,冒泡排序
基本思想:相邻两个作比较满足条件交换元素值
2,选择排序
直接排序是指定元素对其他数组元素分别对比,如果满足条件就交换元素值。
3,反转排序
把第一与倒数第一替换,第二和倒数第二替换 直到所用元素反转替换。