Java学习笔记(一)——程序基本设计结构


Java程序基本设计结构

1、Java程序基本结构

public class FirstSample {
	public static void main(String[] args) {
		System.out.println("Hello World");
	}
}
  1. public:访问修饰符,用于控制程序其他部分对代码的访问级别和权限;
  2. class:Java程序中的全部内容都包含在类中,后跟上类名称;
    1. 类名称必须以字母开头;
    2. 类名称可以是字母和数字的任意组合;
    3. 类名称不能使用Java的关键字和保留字;

注意:源代码文件名必须与公共类的名称相同,否则编译阶段会报错。

1.1、程序的编译和运行

  1. 编译程序:javac FirstSample.java
  2. 运行程序:java FirstSample

编译之后,系统会得到一个包含编译文件类字节码的.class文件。并与源文件保存在同一个目录下。运行程序时候,不要添加.class扩展名。

2、数据类型

Java是一种强类型语言,必须为每个变量声明一个类型

Java中一共有8中基本类型,其中:

  1. 整型:用来表示没有小数部分的数值
    ​ 1. int:4个字节(最常用)
    2. short:2个字节
    3. long: 8个字节
    4. byte: 1个字节(-128 ~ 127)
  2. 浮点型: 用来表示有小数部分的数值
    1. double:双精度
    2. float:单精度
  3. char类型:表示单个字符
  4. 布尔值类型:boolean,用来判断逻辑条件,整型和布尔型之间不能互相转换
    1. true:逻辑判断正确;
    2. false:逻辑判断正确;

3、变量

在Java中,每一个变量都属于一种类型,在声明时要将变量的所属类型位于变量之前,变量在使用之前必须要进行赋值或初始化。

double salary;
int vacationDays;
boolean flag;

3.1、变量初始化

Java中,使用一个变量之前,必须要对变量进行初始化,否则,Java编译器会报错

public class TestVariable {
	public static void main(String[] args) {
		
		double salary;
		System.out.println(salary);
		/**
		 * C:\Users\Administrator\Desktop\Java>javac TestVariable.java
		 * TestVariable.java:5: 错误: 可能尚未初始化变量salary
		 * System.out.println(salary);
		 */
	}
}

在Java中使用等号"="来对变量进行赋值操作:

double salary;
salary = 2500.00;

// double salary = 2500.00

System.out.println(salary);	//2500.00

4、运算符

在Java中,使用算数运算符+、-、 *、 / 、% 来表示加减乘除和取余(取模)。在进行整数运算时,被0整除将会产生异常,而浮点整数被0整除将会得到无穷大或者NaN。

在赋值的语句中可以采用简化的格式来书写二元算数运算符。

public class TestOperators {
	public static void main(String[] args) {

		int x = 10;
		int y = 2;

		System.out.println("x + y = " + (x + y));
		System.out.println("x - y = " + (x - y));
		System.out.println("x * y = " + x * y);
		System.out.println("x / y = " + x / y);
		System.out.println("x % y = " + x % y);
		
		// x = x + 2;
		x += 2;
		System.out.println("现在X的值为:"+x);
		
		// 运行结果:
		// x + y = 12
		// x - y = 8
		// x * y = 20
		// x / y = 5
		// x % y = 0
		// 现在X的值为:12
	}
}

4.1、自增运算符和自减运算符

Java中,使用了自增和自减运算符,n++表示将变量n的当前值加1,n--表示将n的当前值-1。运算符有两种形式,一种是前缀,一种是后缀。两种方式都是对变量值加或者减1,但是在表达式中,前缀方式是先进行加减1运算,后缀方式则是先用原来的值运行,然后在加减1。

int m = 7;
int a = 2 * m++;
int b = 2 * ++m;

System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("m = " + m);

// 运行结果:
// a = 14
// b = 18
// m = 9

4.2、关系运算符与Boolean运算符

Java包含各种关系运算符,其中使用 == 检测是否相等,使用 != 检测是否不相等。也用<><=>= 。用 && 表示逻辑“与”,用 || 表示逻辑“或”。 &&|| 是按照“短路”的方式来求值的,如果第一个操作已经能够确定表达式的意思,第二操作就不必计算了。此外,Java 还支持三元操作符 ?:

三元运算符

// 条件式 ? 值1 : 值2
condition ? expression1 : expression2
public class TestOperators {
	public static void main(String[] args) {

		int a = 10;
		int b = 20;
		
		System.out.println(a > b);		// false
		System.out.println(a < b);		// true
		System.out.println(a >= b);		// false
		System.out.println(a <= b);		// true	
		System.out.println(a != b);		// true

		System.out.println(a > b ? "Helll" : "World");		// World

	}
}

5、数值类型之间的转换

类型转换时将一个值从一种类型更改为另一种类型的过程。

如果从低精度数据类型向高精度数据类型转换,则数据永远不会溢出,并且总会转换成功;而把高精度数据向低精度数据类型转换,则必然会有信息丢失,有可能会失败。

在图中,有6个实线箭头表示无信息丢失的转换;有3个虚线箭头,表示可能用精度丢失的转换。

5.1、低精度向高精度数值类型转换

低精度向高精度转换的时候,系统将会自动的执行,因此该种类型的转换也被称为隐式类型转换。

public class TestConver {
	public static void main(String[] args) {
		
		byte b = 127;
		int i = 150;
		float f = 452.12f;
		double d = 45.4545;
		char c = 10;

		System.out.println("byte 类型与 int 类型数据进行计算的结果是:"+ (b + i));
		System.out.println("byte 类型与 float 类型数据进行计算的结果是:"+ (b + f));
		System.out.println("byte 类型与 char 类型数据进行计算的结果是:"+ (b + c));
		System.out.println("double 类型与 char 类型数据进行计算的结果是:"+ (d + c));
	}
}

5.2 高精度向低精度类型转换 —— 强制转换

当把高精度的变量的值赋给低精度的变量时,必须使用显示类型转换运算,又称强制类型转换。语法:(类型名称)要转换的值;

int a = (int)456.45;
long l = (long)123.12F;
int b = (int)'d';

System.out.println("a = " + a);		//456
System.out.println("l = " + l);		//123
System.out.println("b = " + b);		//100

当执行强制转换时候可能会导致精度的丢失,此外,只要是boolean类型意外的其他基本类型之间的转换,全部都能以强制类型转换的方法达到。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM