Java基础复习一

一、Java语言数据类型划分

  • 基本数据类型

                       数值型

整型:byte(8位),short(16位),int(32位),long(64位)

默认值:0

浮点型:float(32位),double(64位)

默认值:0.0

字符型:char

默认值:‘/u00000

布尔型:boolean

默认值:false

在开发中整数就用int,小数就用doubleLong用来描述日期时间,内存或者文件大小。进行编码和二进制转换时用byte

  • 引用数据类型:数组、类、接口

二、字符串(string)

       char只是用来描述单一字符,利用字符串用来描述多个字符,但是string并不是一个基本类型,是一个引用数据类型,但可以将其使用基本数据类型来套用。

在字符串中的+号,是一个连接操作,例子:

int numa = 10;

double  numb = 20.2;

String result = " 计算"+numa+numb;

输出结果为1020.2

若String result = " 计算"+numa-numb;

则会报错

所有的类型只要与string发生了+操作,则都变成了的连接运算,若想使其变成基本的数学计算,则只需给其加上括号。

int numa = 10;

double  numb = 20.2;

String result = " 计算"+(numa+numb);

利用转义字符(\t)可以将字符进行调整,但是平时用处不大。

三、自增、自减运算

++X   X先自增 

X++  X先进行其他运算,然后再进行自增

--X     X先自减

X--     X先进行其他运算,然后再进行自减

四、三目运算

三目运算是一个赋值运算,使用方法:数据类型 变量 = 布尔类型 ? 条件满足时赋值

例子:将两个

int x = 10;

int y = 20;

int result = x>y? x:y;

三目运算通常用来将if条件语句简化,在开发中常用。

五、关系运算符

如果要进行关系运算符可以使用:>、<、>=、<=、!=,这种运算符都是布尔类型

六、逻辑运算符

逻辑运算符主要是三类:与、或、非(!)

在逻辑运算符中最麻烦的是与操作(&,&&)、或操作(|,||)

 

        与操作中:在进行多个条件判断时,只要所有的条件都满足才可以进入;当使用&来判断多个条件时, 只要有一个条件不满足时就会返回false,即使后面的条件都为true。当使用&&来判断多个条件时,只要有一个条件满足就返回true。

 

        或操作中:若干个判断条件只要有一个条件是true,那么最终的结果就是true,不管后面的结果是true还是false。

七、位运算符

位运算指的是,可以按照二进制、八进制、十六进制进行数据处理,使用最多的是二进制,可以采用数据位移的处理方式实现一些数据的内容变化。

<<左移操作,>>右移操作

八、分支结构

if分支结构和switch结构

if(布尔表达式){

条件满足时输出代码;

}else{

条件不满足时输出;

}

 switch随着JDK版本的变化支持的数据类型也在变化,最初的数据类型:int,char;从1.4开始支持枚举,从1.7开始支持String。

switch(数字 | 枚举 | 字符 | 字符串){

Case 内容1:{

内容满足时执行的语句;

break;

}

Case内容2:{

内容满足时执行的语句;

break;

}

default:{

都不满足时执行的语句;

}

}

如果不加break,所有的判断语句都会执行,switch在实际的开发中应用很少。

九、循环语句

循环语句指的是某几行代码被一直重复执行,条件判断结束

while(do…while)循环和for循环

范例:实现1-100的累加

int  num = 1;

while(num<=100){

result += num;

num  ++ ;

}

使用while时,当判断条件不满时,循环不执行。

do…while在开发中不常使用

 

for循环(循环初始条件;循环结束判断;修改循环条件循环体代码){

满足条件后的要执行的语句;

}

第一步:循环初始化

第二步:判断循环条件

第三步:满足则执行语句

第四步:循环条件变更

第五步:判断循环条件

 

循环的使用原则:对于不知道循环次数,但知道循环结束条件的使用while循环;明确知道循环次数,则使用for循环。

 

循环控制两个关键字:continue,break

continue  执行此语句后,跳出本次循环

break  执行后,跳出整个循环

十、方法

方法的定义:

Public static 方法返回值 方法名称([参数类型,变量……])

{

return  返回值;

}

方法重载:所谓的方法重载就是方法名称相同,参数类型和个数不同。

例如

public static int add(int x,int y)

public static int add(int x,int y,int z)

public static double add(doule x,double y)

在进行方法重载的时候,方法的返回值类型一定要相同,如果要用不同类型,在语法上没有问题,但是原则上必须相同。

 

方法的递归调用

指的是一个方法自己调用自己的形式。一般要进行递归操作往往具备以下特点:

  • 方法必须有一个结束的条件
  • 方法在每次递归处理时候一定要做出一些变更

 

public int sum(int num){
    if(num==1){
        return 1;
    }
    else{
        return num+sum(num-1);
    }
}

 十一、String类

1.实例化String对象

     直接赋值

public class Demo(){

	public static void main(String args[]){
		String name = "张张张";
		System.out.println("姓名:"+name);
	}
}

     通过关键字new

public class Demo(){
	public static void main(String args[]){
		String name = new String("张张张");
		System.out.println("姓名:"+name);
	}
}

两种赋值方法哪种更合适呢?使用直接赋值法会节省内存。

直接赋值法内存分析: 

public class Demo{
	public static void main(String args[]) {
		String str1 = "hello";
		String str2 = "hello";
		String str3 = "hello";
		System.out.println(str1==str2);
		System.out.println(str1==str3);
		System.out.println(str2==str3);
	}
}

                                     

通过new赋值:

public class Demo{
	public static void main(String args[]) {
		String str = new String("hello");//声明一个会开辟两个空间
	}
}

                           

2.String内容的比较“==”与equals

public class Demo{
	public static void main(String args[]) {
		String str1 = "hello";
		String str2 = new String("hello");
		String str3 = str2;
		System.out.println(str1 == str2);
		System.out.println(str1 == str3);
		System.out.println(str2 == str3);
	}
}

结果:
false
false
true

               

使用“==”判断的是地址空间是否相等,判断的是地址值,如果要判断其内容相等,则就必须使用String类中提供的equals()方法完成。

public class Demo{
	public static void main(String args[]) {
		String str1 = "hello";
		String str2 = new String("hello");
		String str3 = str2;
		System.out.println(str1.equals(str2));
		System.out.println(str1.equals(str3));
		System.out.println(str2.equals(str3));
	}
}

结果:
true
true
true

3.字符串的内容一旦声明则不可改变,开发中避免以下写法

public class Demo{
	public static void main(String args[]) {
		String str1 = "hello";
		str1 = str1 + "world!";
		System.out.println("str="+str1);
	}
}

                      

4.String常用方法:(重点)

           

           
1. 直接将一个字符数组变成一个字符串

构造方法:

public String(char[] value)

实例:

char[] value ={"a","b","c","d"};
String str = new String(value);
//相当于String str = newString("abcd")

2. 将一个指定范围的字符数组变为字符串

构造方法:

public String(char value[], int offset, int cpunt)

实例:

char[] value ={"a","b","c","d"};
String str = new String(value, 1, 2);
//相当于String str = newString("bc");

3. 获取字符串长度 

普通方法:

public int length()

实例:

String str = new String("478bhjd56");
int strlength = str.length();

4. 从一个字符串中取出指定位置的字符 

普通方法:

public char charAt(int index)

实例:

String str = new String("43dfzyd");
char ch = str.charAt(4);//ch = z

注意:字符串中第一个字符索引是0,最后一个是length()-1。5.获取字符串的子串,从指定位置开始,一直取到尾进行字符串的截取

普通方法:

public String substring(int beginIndex)
//该方法从beginIndex位置起,
//从当前字符串中取出剩余的字符作为一个新的字符串返回。
public String substring(int beginIndex, intendIndex)
//该方法从beginIndex位置起,从当前字符串中
//取出到endIndex-1位置的字符作为一个新的字符串返回。

实例:

String str1 = newString("asdfzxc");
String str2 = str1.substring(2);//str2 ="dfzxc"
String str3 = str1.substring(2,5);//str3 ="dfz"

6.字符串的比较

普通方法
public int compareTo(String str)
//该方法是对字符串内容按字典顺序进行大小比较,
//通过返回的整数值指明当前字符串与参数字符串的大小关系。
//若当前对象比参数大则返回正整数,反之返回负整数,相等返回0。

public int compareToIgnoreCase (String str)
//与compareTo方法相似,但忽略大小写。

public boolean equals(Object obj)
//比较当前字符串和参数字符串,在两个字符串相等的时候返回true,否则返回false。

public boolean equalsIgnoreCase(String str)
//与equals方法相似,但忽略大小写。

实例:

String str1 = new String("abc");
String str2 = new String("ABC");
int a = str1.compareTo(str2);//a=32
int b = str1.compareToIgnoreCase(str2);//b=0
boolean c = str1.equals(str2);//c=false
boolean d =str1.equalsIgnoreCase(str2);//d=true

7.查找子串在字符串中的位置 

普通方法:

public int indexOf(String str)
//用于查找当前字符串中字符或子串,返回字符或
//子串在当前字符串中从左边起首次出现的位置,若没有出现则返回-1。

public int indexOf(String str, intfromIndex)
//改方法与第一种类似,区别在于该方法从fromIndex位置向后查找。

public int lastIndexOf(String str)
//该方法与第一种类似,区别在于该方法从字符串的末尾位置向前查找。

public int lastIndexOf(String str, intfromIndex)
//该方法与第二种方法类似,区别于该方法从fromIndex位置向前查找。

8.字符串中字符的大小写转换 

普通方法:

public String toLowerCase()
//返回将当前字符串中所有字符转换成小写后的新串

public String toUpperCase()
//返回将当前字符串中所有字符转换成大写后的新串

实例:

String str = new String("JavaStudy");
String str1 = str.toLowerCase();
//str1 = "javastudy"
String str2 = str.toUpperCase();
//str2 = "JAVASTUDY"

9.字符串两端去空格

普通方法
public String trim()
//去除字符串两端的空格,中间的空格不变,一般用于登陆注册时

实例:

String str = " z dali ";
String str1 = str.trim();
int a = str.length();//a = 8
int b = str1.length();//b = 6
System.out.println(a+"\n"+b);
1

10.将字符串分割成字符串数组 

普通方法:

public String[] split(String str)

实例:

String str = "sgs#jkc#eer";
String[] str1 = str.split("#");
for (int i = 0; i < str1.length; i++) {
  System.out.println(str1[i]);  
  //输出结果是sgs  jkc eer
}

11.基本类型转换为字符串 

普通方法:

public static String valueOf(xxx xx)

实例:

String s1 = String.valueOf(12.99);
System.out.println(s1);
//double类型转string类型

12.替换字符串 

普通方法:

public String replace(char oldChar, charnewChar)
//用字符newChar替换当前字符串中所有的oldChar字符,
//并返回一个新的字符串。

public String replaceFirst(String regex,String replacement)
//该方法用字符replacement的内容替换当前字符串中遇到的
//第一个和字符串regex相匹配的子串,应将新的字符串返回。

public String replaceAll(String regex,String replacement)
//该方法用字符replacement的内容替换当前字符串中遇到的所有
//和字符串regex相匹配的子串,应将新的字符串返回。

实例:

String str = "hjdfjdskdd";
String str1 = str.replace('h','g');
//str1 ="gjdfjdskdd"
String str2 =str.replace("hj","xxx");
//str2 = "xxxdfjdskdd"
String str3 =str.replaceFirst("d","c");
//str3 = "hjcfjdskdd"
String str4 =str.replaceAll("hj","xxx");
//str4 = "xxxdfjdskdd"
System.out.println(str1+"\n"+str2+"\n"+str3+"\n"+str4);


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值