Java语言基础

数位与进制

二进制,十进制,八进制,十六进制

变量与数据类型

  1. 基本数据类型:byte、short、int、long、float、double、char、boolean

  2. 栈空间:存取数据的效率高;线进后出;数量少

  3. 堆空间:效率低,存储位置随机分配,存储大容量数据

  4. 寄存器-Java不可直接控制

  5. 变量;常亮;字面量(存放的具体的数据)

  6. 变量名不使用首字母大写,sumScore

  7. 剩下的内容以后再程序中就学会了,不会再查

判断与关系运算

  1. 和c++一样         ==!=<>>=<=

import java.util.Scanner;

public class GenerateDemo02 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Scanner sc =new Scanner(System.in);
		System.out.println("输入分数:");
		Integer score = sc.nextInt();
		//在这里进行判断
		boolean isPass = score>=60;
		System.out.println(score +"及格:" + isPass);
	}

逻辑运算

&;&&;|;||;……

if条件表达式

和c++相同;

switch语句

public class GenerateDemo02 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int score = 4;
		switch (score) {
		case 5:
			score++;
		case 4:
			score++;
		case 3:
			score++;
			// 从4进入到这里出来,因为没有break标识!!!
			break;
		case 2:
			score++;
		default:
			System.out.println(score);
		}
	}
}

循环语句

输出大写字母对应的Unicode码,循环while;do while;for。

public class GenerateDemo02 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int i = 65;
		while (i <= 65 + 25) {
			System.out.println((char) i + ":" + i);
			i++;
		}
		// 另一种实现方法
		// char c = 'A';
		// while (c <= 'Z') {
		// System.out.println(c + ":" + (int) c);
		// c++;}
	}

}

数组

数组声明的两种形式,例如:

int arrayInt[];       int[] arryaInt;

Java语言基础

public class GenerateDemo02 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		//声明
		int arrayDemo01[];
		int[] arrayDemo02;
		
		//使用new初始化
		arrayDemo01 = new int[3];
		arrayDemo02 = new int[5];
		
                //声明后直接初始化
		int[] arrayDemo03 = new int[7];
		
		//静态初始化
		int score[] = {1,2,3,4};
		
		//length判断长度
		for (int i = 0; i < arrayDemo01.length; i++) {
			System.out.println(i);

		}
	}
}

string字符串

  • 直接赋值(使用比较多)

String str = “hello”;
  • 使用关键字赋值

String str = new String("hello");
  • String类型比较,str == str1 ?

str.equals(str1);
  • String字符串内容不可更改,但是指向可以改变

  • str.length()表示String字符串长度

  • str.toCharArray()标尺字符串转换为数组

String str = "jikexueyuan";
char data[] = str.toCharArray();
  • charAt()表示从字符串中取出指定位置的字符

String str = "jikexueyuan";
//得到第一个字符->j
String Str01 = str.charAt(0);
  • getBytes()表示字符串与byte数组的转换

String str = "jikexueyuan";
//得到第一个字符->j
byte by = str.getBytes();
  • indexOf()表示指定字符在字符串中的位置

String str = "[email protected]";
//返回@的位置数,结果为11
int i = str.indexOf("@");
  • trim()表示去掉字符串的前后空格

String str = "    nihao   ";
String str01 = str.trim();
  • subString()表示从字符串中取出子字符串

  • toLowerCase()    toUpperCase()表示大小写转换

  • endsWith()    startWith()表示判断开头结尾的字符串

  • replace()表示替换String字符串中的一个字符

Stringbuff方法

和String相比,Stringbuff能进行更改里面的字符串

常用方法:

append(); ->后面附加

insert();->追加;

 replace(); ->替换;

indexOf(); 

应用:和String相对,如果使用string对象存储不断变化的变量时,会不断开辟空间。

public class GenerateDemo02 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
	
		StringBuffer sbf = new StringBuffer();
		sbf.append("jikexueyuan");
		for(int i = 0; i < 100; i++){
		        //在StringBuff对象后面添加~,而不是像String那样重新开辟空间
			sbf.append(i);
		}
		//使用toString()打印String对象。
		System.out.println(sbf.toString());
	}
}

StringBuilder使用

String StringBuffer StringBuilder 对比:

  1.jdk版本支持:

  StringBuilder JDK1.5以后版本支持

  2.线程安全:

  StringBuffer 线程安全

  StringBuilder 线程不安全

  Java.lang.StringBuffer 线程安全的可变字符序列。类似于 String 的字符串缓冲区,但不能修改。可将字符串缓冲区安全地用于多个线程。可以在必要时对这些方法进行同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的,该顺序与所涉及的每个线程进行的方法调用顺序一致。

  每个字符串缓冲区都有一定的容量。只要字符串缓冲区所包含的字符序列的长度没有超出此容量,就无需分配新的内部缓冲区数组。如果内部缓冲区溢出,则此容量 自动增大。从 JDK 5.0 开始,为该类增添了一个单个线程使用的等价类,即 StringBuilder 。与该类相比,通常应该优先使用 StringBuilder 类,因为它支持所有相同的操作,但由于它不执行同步,所以速度更快。 但是如果将 StringBuilder 的实例用于多个线程是不安全的。需要这样的同步,则建议使用 StringBuffer 。

  3.速度:

  一般情况下,速度从快到慢:StringBuilder>StringBuffer>String.当需要在循环中多次使用字符串拼接时,建 议使用StringBuilder或StringBuffer.当数量级在百万级(这里可能不准确)时,StringBuilder的速度会体现出来.  

http://www.jikexueyuan.com/blog/172.html


你可能感兴趣的:(Java语言基础)