java知识总结(一)java基础知识

java总结一入门

一、java语句规则:

//public class这些称为保留字(关键字)
// ‘//’和‘/**/’为注释,//为单行注释,/**/为多行注释
public class Welcome {//定义类 Welcome被称为标识符
	public static void main(String[] args) {//主方法(main方法)
		System.out.println();//语句
	}
}
说明:1、多行注释还有/**……*/,这种主要是为支持JDK 工具javadoc而采用的。

            2、标示符只能以大小写字母或者美元符号或者下划线开头,不能以数字开头。不能用关键字。命名要符合一定的规则,如驼峰规则。

二、数据基本类型:

		boolean b = false;//长度:1位 取值范围:true false
		byte c = 0;//长度:8位 取值范围:-128~127
		char ch = '\u0000';//长度:16位 取值范围:‘\u0000’~’\uffff’即0~65535
		short s = 0;//长度:16位 取值范围:-32768~32767
		int i = 0;//长度:32位 取值范围:-2^31~2^31-1
		long l = 0L;//长度:64位 取值范围:-2^63~2^63-1
		float f = 0.0f;//长度:32位 取值范围:+-1.4E-45 或+-3.4028235E+38
		double d = 0.0;//长度:64位 取值范围:+-4.9E-324 或+-1.797693134862315E+308
说明:String不是基本数据类型,它被定义为类,属于引用数据类型。java定义了特殊操作,可以直接引用。String s = "hello";

三、引用类型

public class Demo {
	public static void main(String[] args) {
		int i ;
		i = 23;//直接赋值
		Data d = new Data();//分配空间
		d.year = 2016;//再赋值
	}
}

说明:引用类型不分配空间(new),就不能直接给它赋值

四、变量和常量

public class Demo {
	public static void main(String[] args) {//i的使用范围——开始
		int i= 6,b=7,c;//变量定义
		long l = i;//低精度可以赋给高精度
		long l2 = (long)i;//低精度可以强制转换为高精度
		
		final int fi=1;//定义常量 值不可更改
	}//i的使用范围——结束
}
说明:默认类型为64 位double 双精度类型(D 或d),数字后面加F 或f 则是32 位float 

五、运算符

1、赋值运算符

= 、+=、-=、*=、%=、/=(左右必须属于同种或者能转换的数据类型)

2、算数运算符

一元++(自加)、--(自减)

二元+(加)、-(减)、*(乘)、/(除)、%(取余数)

3、关系运算符(比较是否相等,返回true或false)

==    !=   <     <=       >=      >

4、条件运算符(满足某个条件就是什么结果)

格式条件表达式 ? 表达式2 :表达式3

形如 a>b?a:b 如果a大于b则是a,相反则是b

5、逻辑运算符

~        按位非(NOT)(一元运算)

&        按位与(AND) 

|        按位或(OR) 

^        按位异或(XOR)

>>       右移

>>>     右移,左边空出的位以0填充 ;无符号右移

<<      左移 

&=      按位与赋值 

|=      按位或赋值

^=      按位异或赋值

>>=     右移赋值

>>>=    右移赋值,左边空出的位以0填充 ;无符号左移

<<=     左移赋值

6、流程控制语句

流程控制

public class Demo {
	public static void main(String[] args) {
		int a=5,b=6;
		//if else
		if(a>b){
			System.out.println("a>b");
		}else{
			System.out.println("a<b");
		}
		//if
		if(a>b){
			System.out.println("a>b");
		}
		//switch
		switch(a){//一般switch里面是一个变量,根据不同值执行不同的case
			case 5:System.out.println("a");break;//以break结尾
			case 6:System.out.println("b");break;
			default:System.out.println();break;//默认
		}
	}
}

循环语句

public class Demo {
	public static void main(String[] args) {
		int a=5,b=6;
		//while
		while(b>a){
			//执行语句
		}
		//do while
		do{
			//执行语句
		}while(b>a);
		//for
		for(int i=0;i<5;i++){
			//执行语句
		}
	}
}

说明:while是满足条件就执行,只要进入执行语句就一直做判断一直执行直到不满足条件为止;do while是先执行再判断,看是否满足条件;for则是满足i<5则继续执行,i++则是每次执行就运行一次,i在递增。当如果要跳出循环可以使用break(跳出本循环)continue(跳过这次循环)return(跳出整个方法),Break语句和continue语句可以与标号联合使用。标号用来标识程序中的语句,标号的名字可以是任意的合法标识符。

7、字符串

常见用法

public class Demo {
	public static void main(String[] args) {
		String str = "test1";
		String str2 = "test2";
		String s = str+str2;//+操作,结果是test1test2
		boolean b = str.equals(str2);//equals看两个是否相等,==查看引用是否相等
		int i= str.length();//.length()是查看字符串长度
	}
}

String ,StringBuffer ,StringBuilder 区别

String 字符串常量
StringBuffer 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)

说明:

String 类型和 StringBuffer 类型的主要区别其实在于性能方面,如果在实际操作中需要不断对某个字符串进行更改,建议优先考虑StringBuffer 。

Java.lang.StringBuffer线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。StringBuffer 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。append 是在字串末尾加入,insert 则是从某个节点插入。

java.lang.StringBuilder 一个可变的字符序列是5.0新增的。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。在大多数实现中,它比 StringBuffer 要快。两者的方法基本相同。

八、数组

一维数组

public class Demo {
	public static void main(String[] args) {
		int a[] ; String s[] ; char []c ;//三种类型  数组声明
		a=new int[3] ;//产生a[0] , a[1] , a[2] 三个元素
		a[0]=8 ; a[1]=8 ; a[2]=8 ;
		int i[]={4,5,010,7,3,2,9} ;//直接赋值
		System.out.println(i.length);//.length查看数组长度
	}
}
多维数组(二维举例)

public class Demo {
	public static void main(String[] args) {
		int d[][] ; // 定义一个二维数组
		d=new int[3][4] ; // 分配3 行4 列数组内存
		int a[][]=new int[2][] ;
		a[0]=new int[3] ; // 第二维第一个元素指向3 个整型数
		a[1]=new int[5] ; // 第二维第一个元素指向5 个整型数
		int i[][]={{0},{1,4,5},{75,6},{8,50,4,7}} ; //定义和赋初值在一起,java第二维可以不等长
		//可以这样定义数组
		int a2[][]=new int[10][10];
		int []a3[]=new int[10][10]; 
		int [][]a4=new int[10][10];
	}
}
说明:java中二维数组分配空间是第二维可以为空,但是第一维必须分配内存。

  • 8
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值