JAVA基础学习——算法

从零开始学习JAVA

Hello,World!

class HelloWorld{

	public static void main(String[] args){
		
		System.out.println("Hello,World!");

}

JAVA语言的注释

/*
1、JAVA规范的三种注释方式:单行注释、多行注释、文档注释
2、单行注释和多行注释的作用:
	①对所写的程序进行解释说明,增强可读性。方便自己,方便别人;
	②方便调试所写的代码
3、特点:单行注释和多行注释,注释了的内容不参与编译。(编译后生成的.class结尾的字节码文件不包含注释掉的信息)
4、文档注释的使用:注释内容可以被JDK提供的工具javadoc所解析,生成以网页文件形式体现的该程序的说明文档。
5、多行注释不可以嵌套使用
*/
/**
文档注释
@author universe
@version 0.0
互联网里面有星辰大海。
*/
public class Annotation{
	/*
	多行注释:
	如下的main方法是程序的入口!
	main的格式是固定的!
	*/
	public static void main(String[] args);{
	//单行注释:如下的语句表示输出到控制台
		System.out.println("Java annotations must conform to the specification!");
	
	}
} 

标识符

1、定义:JAVA对各种变量、方法和类等要素命名是使用的字符序列成为标识符。(凡是可以自己取名字的地方都叫标识符。)
2、标识符命名规则:(如不遵循以下规则,编译不通过!需要大家严格遵守)
①有26个英文字母大小写,0-9, _ 或者 $ 组成;
②数字不可以开头;
③不可以使用关键字和保留字,但能包含关键字和保留字;
④JAVA中严格区分大小写,长度无限制;
⑤标识符不能包含空格。
3、Java起名规范:
①包名:多单词组成时所有字母都小写:xxxyyyzzz;
②类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz;
③变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz;
④常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ。

注意1:在取名字时,为了提高阅读性,要尽量有意义,见名知意。
注意2:JAVA采用unicode字符集,因此标识符也可以使用汉字声明,但是不建议使用。

class IdentifierTest{

	public static void main(String[] args){

	int myAge = 24;

	System.out.println(myAge);

	}
}
class Love_${}

变量

1、定义:
①内存中存在的一个储存区域;
②该区域的数据可以在同一类型范围内不断变化;
③变量是程序中最基本的储存单位。包含变量类型、变量名和储存的值
2、说明:
①JAVA中每个变量必须先声明,后使用;
②使用变量名来访问这块区域的数据;
③变量的作用域:其定义所在的一对{}内;
④变量只有在其作用域内才有效;
⑤同一作用域内,不能定义重名的变量。
3、变量的使用
JAVA定义变量的格式:数据类型 变量名 = 变量值。

class VariableTest{

	public static void main(String[] args){

	int myAge = 24;//变量的定义
	System.out.println(myAge);//变量的使用	

	//System.out.println(myNumber);//编译错误:使用myNumber之前并未定义过myNumber

	int myNumber;//声明变量
	//System.out.println(myNumber);//编译错误:使用myNumber之前并未赋值过myNumber

	myNumber = 9527;//变量赋值
	System.out.println(myNumber);//变量使用
	
	//int myAge = 30;//不可以再同一个作用域内定义同名的变量
	}

	public void method(){

		System.out.println(myNumber);//编译不通过,找不到符号‘myNumber’

	}
}

变量的分类-按数据类型

1、变量按照数据类型来分:
基本数据类型:
整型:byte、short、int、long;
浮点型:float、double;
字符型:char;
布尔型:boolean。
引用数据类型:
类(class)
接口(interface)
数组(array)
2、按照变量在类中声明的位置:成员变量、局部变量。

class VariableTest{
	public static void main(String[] args){
	
		byte b1 = 12;//1、整型:byte(1字节 = 8 bit)\short(2字节)、int(4字节)、long(8字节)
		byte b2 = -128;
		//b2 = -128;//编译不通过;//① byte 的范围:-128 ~ 127;
		System.out.println(b1);
		System.out.println(b2);
		short s1 = 128;
		int i1 = 9527;//② 通常定义整型变量时,我们使用 int 型;
		long l1 = 1314520L;//③ 声明 long 型变量时,必须以‘l’或‘L’结尾。
		System.out.println(s1);
		System.out.println(i1);
		System.out.println(l1);

		float f1 = 3.1f;//2、浮点型:float(4字节)、double(8字节)
		double d1 = 314.1;//① 浮点型,表示带小数点的数值;
		System.out.println(d1 + 1);//② float表示数值的范围比long还大
		System.out.println(f1);//通常,我们定义浮点型变量时,使用double型。

		char c1 = 'q';//3、字符型:char(1字符 = 2字节)
		//char c2 = 'AB';//编译不通过//① 定义char型变量,通常使用一对'',内部只能写一个字符;
		char c3 = '学';//
		char c4 = 'あ';
		System.out.println(c1);
		//System.out.println(c2);
		System.out.println(c3);
		System.out.println(c4);
		
		//② 表示方式:a.声明一个字符;b.转义字符;c.直接使用Unicode值表示字符型常量
		char c5 = '\n';//换行符
		c5 = '\t';//制表符
		System.out.print("big" + c5);
		System.out.println("hotle");
		char c6 = '\u0043';//字母 C
		System.out.println(c6);

		boolean bo1 = true;//4、布尔型:boolean
		boolean bo2 = false;//① 只能取两个值之一:true、false;
		System.out.println(bo1);

		boolean haveEaten = true;
		if(haveEaten){
			System.out.println("不能再吃披萨了,\n很遗憾!");
		}else{
			System.out.println("你可以过来吃一份披萨!");
		}
	}
}

基本数据类型之间的运算规则

注意:此处讨论的只是7种基本数据类型变量间的运算。不包含boolean类型变量。
1、自动类型转换:
当容量小的数据类型的变量与容量大的数据类型的变量做运算时、结果自动提升为容量大的数据类型。
byte、short、char --> int --> long --> float --> double
注意:当byte、char、short 三种数据类型的变量做运算时,结果为 int 型。

class VariableTest{
	public static void main(String[] args){
		
		byte b1 = 2;
		int i1 = 129;
		//byte b2 = b1 + i1;//编译不通过
		int i2 = b1 + i1;
		long l1 = b1 + i1;
		System.out.println(i2);//131
		System.out.println(l1);//131

		float f = b1 + i1;
		System.out.println(f);//131.0
		short s1 = 123;
		double d1 = s1;
		System.out.println(d1);//123.0

		char c1 = 'a';//Unicode 97
		int i3 = 10;
		int i4 = c1 + i3;
		System.out.println(i4);//107
		
		short s2 = 10;
		//char c2 = c1 + s2;//错误:不兼容类型;从int转换到char可能会有损失
		int i5 = c1 + s2;

		byte b2 = 10;
		//char c3 = c1 + b2;//错误: 不兼容的类型;从int转换到char可能会有损失
		//short s3 = b2 + s2;
		//short s4 = b1 + b2;
	}
}

2、强制类型转换:自动类型提升运算的逆运算。
① 需要使用强转符:() ;
②注意:强制类型转换,可能会导致精度损失。

class VariableTest{
	public static void main(String[] args){
		//精度损失举例1
		double d1 = 12.9;
		int i1 = (int)d1;
		System.out.println(i1);//2
		//没有精度损失
		long l1 = 9527;
		short s2 = (short)l1;//9527
		//进度损失举例2
		int i2 = 128;
		byte b1 = (byte)i2;
		System.out.println(b1);//-128
	}
}

整型常量及浮点型常量默认类型举例

class VariableTest{
	public static void main(String[] args){
		
		long l1 = 31415926;//整型常量,默认类型为int型
		System.out.println(l);//31415926
		//long l2 = 3141592631415926;//编译失败,过大的整数
		long l2 = 3141592631415926L;//过大的整数,使用long型

		//float f1 = 12.3;//浮点型常量,默认类型为double型
		//错误: 不兼容的类型: 从double转换到float可能会有损失
		float f1 = (float)12.3;//强制转换
		
		byte b1 = 12;//byte b2 = b + 1;//编译失败;int型转换到byte型可能会有损失
		float f2 = b + 12.3;//编译失败;double转换到float可能会有损失		
	}
}

字符串类型:String类型变量

1、String属于引用数据类型,翻译为:字符串;
2、声明String类型变量时,使用一对 " " ;
3、String 可以和8种基本数据类型变量做运算,且运算只能是连接运算:+;
4、运算的结果仍然是String类型。

class StringTest{
	public static void main(String[] args){
		String str1 = "Hello,Univser.";
		System.out.println(str1);
		
		String s2 = "a";
		String s3 = "";//只要不超过内存,"" 内可以任何字符;
		//char c = '';//编译不通过,显然char不能像String这样为所欲为;

		int num1 = 9527;
		String numStr = "代号";
		String info1 = numStr + num1;//+:连接运算
		boolean bo1 = true;
		String info2 = info1 + bo1;//+:连接运算
		System.out.println(info2);//代号9527true
	}
}

进制

计算机中不同进制的使用说明:

对于整数,有四种表示方式:
①二进制(binary):0、1;满2进1,以 0b 或者 0B 开头;
②十进制(decimal):0 - 9;满10进1;
③八进制(octal):0 - 7;满8进1,以数字0开头表示;
④十六进制(hex):0 - 9及 A - F;满16进1,以 0x 或 0X 开头表示;此处的 A - F 不区分大小写;例如:0x21AF + 1 = 0X21B0。

class BinaryTest{
	public static void main(String[] args){
		int num1 = 0b110;
		int num2 = 110;
		int num3 = 0127;
		int num4 = 0x110A;
		
		System.out.println("num1 = " + num1);//num1 = 6
		System.out.println("num2 = " + num2);//num2 = 110
		System.out.println("num3 = " + num3);//num3 = 87
		System.out.println("num4 = " + num4);//num4 = 4362
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值