初识JAVA-1
运行一个Java程序
1.首先创建一个java为后缀的文件。这里我们创建一个test.java
由于没有安装集成开发环境,所以我们先在记事本里进行编辑一段打印代码进行演示
public class Test{public static void main(String[] args){System.out.println("Hello,world");}}
输入完之后进行保存
2.在java文件的目录下打开cmd,然后通过javac命令去编译.java程序,运行之后会在目录下生成一个.class为后缀的字节码(二进制)文件
3.现在我们可以使用java命令来运行程序,这个过程会把程序加载到JVM(java虚拟机)进行输出。注:在我们安装JDK的时候就已经安装了JRE(java运行时环境)和JVM(java虚拟机)
Java程序的组成
1.源文件(.java):源文件中带有类的定义。类用来表示程序的一个组件,小程序或许只有一个类。类的内容必须包含在花括号里。
2.类:类中带有一个或多个方法。方法必须在类的内部声明。
3.方法:在方法的花括号中编写方法应该执行的语句。
总结:类存在于源文件中;方法存在于类中;语句存在于方法中。
注意:在一个源文件中只能有一个public修饰的类,而且源文件名字必须与public修饰的类的名字相同。
注释
单行注释
//
多行注释
/*
*/
文档注释
/**
*/
注意:
当我们用记事本编辑java中文注释的时候,在控制台编译的时候有可能会报错,这是因为记事本的编码格式是UTF-8,而cmd的编码格式是GBK。要想解决这个问题只需要将文件另存为GBK编码格式
现在就来让我们感受一下文档注释的神奇之处
示例代码:
/**
文档注释:@version v1.0.0@author en 作用HelloWorld类,入门第一个程序练习
*/
public class Test{public static void main(String[] args){System.out.println("Hello,world");}}
java帮助文件生成代码
// 在cmd中,使用javadoc工具从Java源码中抽离出注释
// -d 创建目录 myHello为目录名
// -author 显示作者
// -version 显示版本号
// -encoding GB18030 -charset UTF-8 字符集修改为UTF-8
// javadoc -d myHello -author -version -encoding GB18030 -charset UTF-8 Test.java
在控制台输入这串命令之后,会在文件目录下生成一个myHello的文件名,现在只需要进入index.html文件。
这个就是java的帮助手册
我们以后写代码一定不会在记事本,所以我们就需要一个集成开发环境,这里使用IDEA
标识符
在程序中由用户给类名,方法名或着变量所取的名字就是标识符。
硬性规则:
标识符中可以包含:字母,数字以及下划线和$符号等等。标识符不能以数字开头也不能是关键字(main不算关键字),且严格规定大小写,不包含.
软性建议:
类名:每个单词的首字母大写(大驼峰)
方法名:首字母小写,后面几个单词的首字母大写(小驼峰)
变量名:与方法名的规则相同
字面常量
常量:程序运行期间固定不变的量。
字面常量的分类
1.字符串常量:用双引号括起来的
2.整型常量:程序中直接写的数字
3.浮点型常量:程序中直接写的小数
4.字符常量:由单引号括起来的单个字符
5.布尔常量:只有两种true和false
6.空常量:null
注意:字符串,字符,整型,浮点型以及布尔类型在JAVA中都称为数据类型。
被final修饰的变量不能改变,可以称之为常量。
数据类型
基本数据类型(四类八种)
整型
字节型:byte 占用1字节 范围 -128~127 包装类型 Byte
短整型:short 占用2字节 范围 -32768~32764 包装类型 Short
整型(默认):int 占用4字节 范围 -2^31~2^31-1 包装类型 Integer
长整型:long 占用8字节 范围 -2^63~2^63-1 包装类型 Long
浮点型
单精度浮点数:float 占用4字节 有范围一般不关注 包装类型 Float
双精度浮点数(默认):double 占用8字节 有范围一般不关注 包装类型 Double
字符
字节型:char 占用2字节 0~65535 包装类型 Character
布尔类型
boolean 没有明确规定内存占用 范围只有true和false 包装类型 Boolean
注意:
1.不管是32还是64位系统java中数据类型占用的字节数是一定的,好处是可移植性高。
2.整型和浮点型都是带有符号的
3.字符串属于引用类型
引用数据类型
变量
变量在使用之前必须初始化!!!!
经常改变的量,数据类型就是用来定义变量的。
数据类型 变量名 = 初始值
byte a = 10;
整型变量
整型变量
int a;//定义
a=10;//初始化
注意:
1.int不论在哪种系统下都是四字节
2.推荐在定义时直接初始化,没有合适的初始值就设为0
3.初始化不能超过int的表示范围,否则会溢出
4.int的包装类型是Integer
长整型变量
long bL;//定义
bL=10;//初始化
注意:
1.长整型变量初始值后加L或者l,为了便于区分推荐加L
2.长整型无论在哪个系统下都是8字节
3.long的包装类型是Long
短整型变量
short c;
c=90;
注意:
1.任何系统下都占用2字节
2.short的包装类型是Short
字节型
byte d;d=55;
注意:
1.任何系统下都占用1字节
2.字节型的包装类型是Byte
浮点型变量
双精度浮点型
double d;
d = 3.14;
注意:
1.两个整型进行运算,结果还是整型。所以1/2要想得到0.5就必须使用浮点型
2.浮点型无法完全精确的进行保存,是一个近似值,不是一个精确值,只能做到小数点后几位精确保存
3.double在任何系统下都占用8字节
4.浮点数与整数的存储方式是不一样的,不能单纯用2^n来计算
5.double的包装类型是Double
单精度浮点型
float f=3.14f;
注意:
1.由于浮点数默认是double类型,所以在给float类型进行初始化时需要在数字后面加个f用于表示单精度浮点型
2.单精度浮点型占用4字节
3.float的包装类型是Float
字符型变量
char c1='a';
char c2 = '好';
注意:
1.由于java中char类型占用两个字节,所以可以储存汉字。
2.计算机中的字符本质上是一个整数,在C语言中使用ASCII表示字符,而在java中使用Unicode表示字符。
3.在使用javac运行带有中文字符的代码的时候可能会报错,只需在后面加上
-encoding UTF-8
用来改变一下编码。
4.char类型的包装类型是Character
布尔类型
boolean g=true;
注意:
1.c中1表示true,0表示false这在java中是不适用的!!!!
2.java虚拟机中没有明确规定boolean占用几个字节,在Oracle公司的虚拟机实现中占用1字节
3.boolean的包装类型是Boolean
类型转换
强制类型转换(显式)
int a=10;
long b =20;
a=(int)b;
通过(数据类型)来进行数据范围大的向数据范围小的转换,可能会导致精度丢失。
注意:这种转换不一定成功,不相干的类型不能转换。将一个字面值常量进行赋值时,Java会自动针对数字范围进行检查。
自动类型转换(隐式)
int a=10;
long b =20;
b=a;
代码不需要经过任何处理,在编译时编译器会自动进行处理。数据范围小的转换为数据范围大时会自动进行转换
类型提升
int a=10;
long b =20;
//方法一
int c=(int)(a+b);
//方法二
long c1=a+b;
在两个不同类型进行运算时,编译器会自动将数据范围小(int)的转换为数据范围大(long)的,然后用相同类型的数据(long)进行运算。
方法一可能会造成数据丢失,所以更推荐方法二。
byte a=10;
byte b=20;
byte c =(byte)(a+b);
int c2=a+b;
byte和byte都是相同类型,但是计算时会先将a和b提升为int,运算结果也是int。由于CPU通常是按照4个字节为单位从内存中读取数据,为了在硬件上实现方便,诸如byte和short这种低于4字节的类型都会先提升为int然后进行计算。
字符串类型
在java中使用String类定义字符串类型
String a="Hello ";
String b ="en";
System.out.println(a+b);
字符串相加表示拼接,字符串在最前面那么后面的就是拼接,其他数据类型在前面,先计算,后面有字符串的话再拼接
System.out.printf("%s",a+b);
当然也可以写成类似于C语言的语句,这是java中所保留的C的内容,和c中printf用法一致
java中没有\0结尾的这种说法!!!!
整数转换成字符串
//方法一
int a=10;
String b=a+"";
//方法二
String c=String.valueOf(a);
字符串转换为整数
String d="100";
int num=Integer.parseInt(d);