Java工程结构:project→package→java class
jar文件是Java Project(Java工程、Java项目)的压缩文件
变量:写入内存中数据的基本元素。
- 变量的使用步骤:
声明变量的数据类型→定义变量名→为变量赋值
注:变量的作用域取决于声明变量时所在的语句块。 - 变量的使用要求:
1.变量名首字母应小写;
2.变量名首字符只能由 _ 、$ 以及字母构成,其余部分允许出现数字;
3.变量的命名规则应使用驼峰命名法;例如:myNameIsTionsChiang;
4.变量名不能为关键字;
5.变量名不能重名;
6.变量在使用前必须先赋值
数据类型
基本数据类型:
变量类型 | 存储空间大小 | 范围 |
---|---|---|
byte(字节型) | 1 | 0~255 |
short(短整型) | 2 | -32768~+32767 |
int(整数型) | 2 | -32768~+32767 |
long(长整型) | 4 | -2147483648~+2147483647 |
float(浮点型) | 4 | 3.4E-38~3.4E+38 |
double(双精度浮点型) | 8 | 1.7E-308~1.7E+308 |
boolean(布尔类型) | 2 | True or False |
char | 1 | 单字符 |
注:
Java中8种基本数据类型,为了增强这些类型的功能,为每一个基本类型都提供了包装类
不同数据类型之间能够允许进行转换
转换类型的方式:
隐式转换:同一类型的数据,将小范围值的数据赋给大范围的目标数据时发生的自动类型转换
显式转换:分为toString转换,parse转换以及强制转换
Demo.Java中的数据类型
public class Demo{
/**Java中的数据类型*/
public static void main(String[] args){
/**********整数类型**********/
//java编写的数值默认为int型
//字节类型
byte a = 100;
//每个基本类型都有对应的包装类,+表示将多个值拼接
System.out.println("byte类型的范围:"+Byte.MIN_VALUE+"~"+Byte.MAX_VALUE);
//短整型
short b = 1000;
System.out.println("short类型的范围:"+Short.MIN_VALUE+"~"+Short.MAX_VALUE);
//整型
int c = 1000;
System.out.println("int类型的范围:"+Integer.MIN_VALUE+"~"+Integer.MAX_VALUE);
//长整型
long d = 1000000000000000l;
System.out.println("long类型的范围:"+Long.MIN_VALUE+"~"+Long.MAX_VALUE);
/**********浮点类型**********/
//单精度浮点
float e = 100.01f;
System.out.println("float类型的范围:"+Float.MIN_VALUE+"~"+Float.MAX_VALUE);
//双精度浮点类型
double f = 100.000000012121212121;
System.out.println("double类型的范围:"+Double.MIN_VALUE+"~"+Double.MAX_VALUE);
/**********非数值类型**********/
//单字符类型
char ch1 = '符';
char ch2 = 90;
System.out.println(ch1);
System.out.println(ch2);
//字符串类型
String name = "Tions Chiang";
System.out.println(name);
//布尔类型 值只能为true或者false
//boolean flag = true;
Boolean flag = false;
System.out.println(flag);
}
}
注:可以将ASCII赋值给char,JVM将会把ASCII值转换成字符再赋值给char
Demo.使用键盘写入变量
import java.util.Scanner;
public class Demo{
/**使用键盘写入变量*/
public static void main(String[] args){
//创建键盘扫描器
Scanner sc = new Scanner(System.in);
System.out.println("请输入数据:");
//接收键盘输入的数据,接收字符串
String str = sc.next();
//接收int整数
//sc.nextInt();
//接收double浮点
//sc.nextDouble();
System.out.println("键盘输入的数据是:"+str);
}
}
Demo.数据类型的转换
public class Demo{
/**数据类型转换*/
public static void main(String[] args){
//隐式转换,又称为自动类型转换
//隐式转换的要求:必须是同一类数据类型,精度高的数据类型将兼容低精度的数据类型值
int a = 100;
long b = a;
double c = 100.5;
//强制类型转换
short num1 = 100;
int num2 = 200;
double num3 = 10.5;
float num4 = 300;
//强制类型转换可能会引起精度的丢失,因此在使用强制类型转换时应确保被转换数据的值的精度是在转换目标类型精度范围内的
num1 = (short)num2;
System.out.println(num1);
num2 = (int)num3;
System.out.println(num2);
num2 = (int)num4;
System.out.println(num2);
//toString转换用于将任意其他类型转换成字符串类型的方式
int num5 = 100;
String s = "";
//使用toString转换,需要先将基本数据类型转换成包装类,这个过程又称为装箱
Integer integerNum = new Integer(num5);
//通过包装类的toString方法转换成字符串
s = integerNum.toString();
System.out.println(s);
//也可以通过如下方式将任意类型转换为字符串,任意类型拼接字符串,拼接后的类型都为String
s = num5+"";
//将包装类的值转换成对应的基本数据类型的过程,称为拆箱
Double doubleNum = new Double(100.5);
double num6 = doubleNum.doubleValue();
//将字符串类型转换为任意基本数据类型,在进行该类转换时,应确保被转换的字符串值和转换目标类型匹配
String s2 = "100";
//转换成int
int num7 = Integer.parseInt(s2);
//转换成double
double num8 = Double.parseDouble(s2);
System.out.println(num7+","+num8);
}
}
两个变量的数据交换:
public class Demo{
/**两个变量的数据交换*/
public static void main(String[] args){
int num1 = 10;
int num2 = 20;
System.out.println("交换前的两数分别是:"+num1+","+num2);
//交换两数创建一个临时变量
int temp;
//将任意一个数先赋值给临时变量
temp = num1;
//将num2的值赋给num1
num1 = num2;
//将temp的值赋给num2
num2 = temp;
System.out.println("交换后的两数分别是:"+num1+","+num2);
}
}