Java基础知识

1、按位与
按位与运算的运算符为&。运算法则为:如果两个整型数据a、b对应的都为1,则结果才是1,否则为0.
2、按位或
按位或的运算符为|,运算法则为:如果两个操作数对应位都为0,则结果位才为0,否则为1。
3、按位取反
运算符号为~,按位取反就是将操作数二进制中的1修改为0,0修改为1.
4、按位异或
按位异或的运算符为^,运算法则为:两个操作数的二进制表示相同(同时为0或者同时为1)结果为0,否则为1
00000000 00000000 00000000 00001001 整数10的二进制表示
00000000 00000000 00000000 00000011 整数3的二进制表示
00000000 00000000 00000000 00001001 10^3的结果,十进制表示为9
5、左移就是将运算符左边的操作数的二进制数据按照运算符右边操作数制定的位数向左移动,右边移空的部分补0。当使用>>符号时,若最高位为0,右移的空位就填入0,如果最高位为1,右移空就填入1.
无符号右移>>>,无论最高位为0还是1,左侧被移空的高位都填入0.
6、三元运算符
三元运算符的格式为:条件值?值1:值2
运算规则为:若条件式的值为true,则整个表达式取1,否则取2
7、数据类型的转换
隐式类型的转换,这些类型按精度从低到高排列的顺序为byte<short<int<long<float<double
8、显示类型转换
把高精度的变量的值赋给低精度的变量时,必须使用显示类型转换即强制类型转换
(类型名)要转换的值
9、复合语句
public class compound{
public static void main(String args[]){
int x=20;
{
int y =40;
System.out.println(y);
int z=245;
boolean b;
{
b = y>z;
System.out.println(b);
}
}
String word =“hello java”;
System.out.println(word);
}
}
输出结果为

在这里插入图片描述
10、条件语句
简单的if条件语句,语法如下:
if(布尔表达式){
语句序列
}
11、if…else 语句
if(表达式){
若干语句
}
else{
若干语句
}
if后面的()内的表达式的值必须为布尔类型的,如果表达式的值为true,则执行紧跟if语句后的复合语句;如果表达式的值为false,则执行else后面的复合语句
12、if…else if 多分支语句
if(条件表达式1){
语句序列1
}
else if(条件表达式2){
语句序列2
}

else if(表达式n){
语句序列n
}
13、switch 多分支语句
switch(表达式){
case 常量值 1:
语句块 1
[break;]

case 常量值 n:
语句块n
[break;]
default:
语句块 n+1;
[break;]
}
switch语句中的表达式的值必须是整型、字符型或者字符串型,常量1~n必须是整形、字符型或者字符串型。switch语句首先计算表达式的值,如果表达式的值和某个case后面的常量值相同,则将继续执行后面case中的若干语句,直到遇到break为止。
同一个switch语句,case的常量值必须互不相同。
14、循环语句
while(条件表达式)
{
执行语句
}
当条件表达式返回值为真的时候,则执行{}中的语句,当执行完{}语句后,重新判断条件表达式的返回值,只道表达式返回的结果为假,退出循环。
15、do…while
do…while循环语句与while循环语句类似,他们之间的区别是while先判断条件是否成立再执行循环体,而do…while循环语句则需要执行依次循环之后,再判断条件是否成立,即do…while循环语句中{}的程序段至少要被执行一次。语法如下:
do
{
执行语句
}
while(条件表达式);
16、for循环语句
for(表达式1;表达式2;表达式3)
{
语句序列
}
表达式1:初始化表达式,负责完成变量的初始化
表达式2:循环条件表达式,值为Boolean型的表达式,制定循环条件
表达式3:循环后操作表达式,负责修整变量,改变循环条件
在执行for循环时,首先执行表达式1,完成某一变量的初始化工作:下一步判断表达式2的值,若表达式2的值为true,则进入循环体;在执行完循环体之后紧接着计算表达式3,这部分通常是增加或者减少循环控制变量的一个表达式。第二轮循环从计算表达式2开始,若表达式2返回值为true,则继续循环,否则将跳出整个for语句
17、如果遇到循环嵌套的情况,break语句只会跳出它最内层的循环结构,只跳出一层循环。
18、continue语句是对break语句的补充,continue不是立即跳出循环体,而是跳过本次循环结束前的语句,回到循环的条件测试部分,重新开始执行循环。在for循环语句中遇到continue后,首先执行循环的增量部分,然后进行条件测试。在while和do while循环当中,continue语句使控制直接回到条件测试的部分
19、标签名:循环体{
continue 标签名;
}
标签名:任意标识符
循环体:任意循环语句
20、声明字符串变量:String:指定该变量为字符串类型
str:任意有效的标识符,表示字符串变量的名称
21、声明字符串必须经过初始化才能使用,否则编译器会爆出“变量未被初始化错误”
22、创建字符串:(1)、String(char a[])用一个字符数组a创建String对象
(2)、String(char a[],int offset,int length)提取字符数组a中的一部分创建一个字符串对象。参数offset表示开 始截取字符串位置,length表示截取字符串的长度
(3)、String(char[] value)该构造方法可分配一个新的String对象,使其表示字符数组参数中所有元素连接的 结果
(4)、使用“+”运算符可以实现多个字符串的功能。“+”运算符可以连接多个运算符并且产生一个String对象。
23、连接多个字符串是使用+,进行连接,+可以连接多个字符串并产生一个String对象,字符串也可以同其他的基本数据类型进行连接,如果将字符串同这些数据类型进行连接,会将这些数据直接转换成字符串。
24、获取字符串长度:使用String类的length()方法可以获取声明的字符串对象的长度,使用语法为:str.length();其中str为字符串对象。
25、字符串查找:String类提供了两种查找字符串的方法即indexOf()与lastIndexOf()方法。这两种方法都允许在字符串中搜索指定条件的字符或者字符串。indexOf()方法返回的是搜索的字符或者字符串首次出现的位置,lastIndexOf()方法返回的是搜索的字符串或者字符串最后一次出现的位置
(1)indexOf(String s)该方法用于返回参数字符串s在指定字符串中首次出现的索引位置。当调用字符串的indexOf()方法时,会从当前字符串的开始位置搜索s的位置;如果没有检索到字符串s,该方法的返回值就是-1;
(2)String对象使用数组表示的字符串的下标是0~length()-1
(3)如果lastIndexOf()方法中的参数是空字符串“”,则返回的结果与调用该字符串length()方法的返回结果相同。
26、获取指定索引位置的字符串
str.charAt(int index) str:任意字符串;index:整型值,用于指定要返回字符的下标
27、获取字符串
substring()方法被两种不同的方法重载,来满足不同的需求
(1)substring(int beginIndex)返回的是从指定的索引位置开始截取到该字符串结尾的字段
(2)substring(int beginIndex,int endIndex)beginIndex:开始截取字符串的索引位置;endIndex:子字符串在整个字符串中的结束位置
28、字符串替换:可以实现将指定的字符或者字符串替换成新的字符或者字符串
str.replace(char oldChar,char newChar)
29、判断字符串是否相等不能简单地使用比较运算符“==”,因为比较运算符比较的是两个字符串的地址是否相同。即使两个字符串的内容相同,两个对象的内存地址也是不同的,使用比较运算符也会返回false,因此要比较两个字符串内容是否相等应该使用equals()和equalsIgnoreCase()方法
(1)equals方法 如果两个字符串具有相同的字符和长度,则使用equals()方法进行比较,返回true
语法:str.equals(String otherstr),其中str、otherstr是要进行比较的两个字符串对象
(2)equalsIgnoreCase()使用equals()方法进行比较时是区分大小写的,而使用equalsIgnoreCase()方法是在忽略大小写的情况下比较两个字符串是否相等,返回结果仍然为布尔类型
30、按字典顺序比较两个字符串
compareTo()方法为按字典顺序比较两个字符串,如果按字典顺序此String对象位于参数字符串之前,则比较结果为一个负数;如果按照字典顺序此String对象位于参数字符串之后,则比较结果为一个正整数;如果这两个字符串相等则结果为0
31、字母大小写转换
使用toLowerCase()方法和toUpCase()进行大小写转换时,数字或非字符不受影响
32、字符串连接的方法:+、a.concat(b)、
定义一个StringBuffer buf = new StringBuffer();
buf.append(a);
buf.append(b);
buf.append©;
String d = buf.toString();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值