java基础知识
一、运行第一个程序
public class Helloworld{//修饰符 类名
public static void main(String[] args){//修饰符 方法名(参数)
System.out.print("Hello World!");
}
}
/**
1.java区分大小写
2.文件名与类名必须保持一致,且首字母需大写
3.符号必须是英文状态下的
*/
使用命令行窗口编译运行第一个程序:
第一步是编译,使用javac命令对.java文件(源文件)进行编译,编译完成后产生.class文件;
第二步是执行,使用java命令对.class文件(字节码文件)执行,执行的文件不需要写后缀,执行完毕后即可得出结果。
二、基础语法
java中有三种注释方法:单行注释,多行注释,文档注释
java是一门强类型语言,即要求变量的使用要严格要求符合规定,所有的变量都必须先定义后才能使用。
java的数据类型分为基本类型和引用类型:
基本数据类型:
- 整数类型:byte(1个字节)、short(2个字节)、int(4个字节)、long(8个字节,在数字后面加上L)
- 浮点类型:float(4个字节,在数字后面加上F)、double(8个字节)
- 字符类型:char(2个字节,单引号内是一个字符),String是字符串类型,其不是基本数据类型而是一个类
- boolean类型:boolean(1位,只有true或false),默认值是false
引用类型:
类、接口、数组
补充说明(字节):
位(bit):是计算机内部数据储存的最小单位,一位二进制数表示1bit;
字节(byte):是计算机中数据处理的基本单位,用B来表示,1B=8bit;
字符:是指计算机使用的字母、数字、字和符号;
单位转换:1024B=1KB,1024KB=1MB,1024MB=1GB,1024GB=1TB;
int i1=10;
int i2=010;//八进制
int i3=0x10;//十六进制
System.out.println(i1);//10
System.out.println(i2);//8
System.out.println(i3);//16
char c1='a';
char c2='中';
System.out.println(c1);//a
System.out.println((int)c1);//97
System.out.println(c2);//中
System.out.println((int)c2);//20013
System.out.println("hello\tworld");//\t 制表符
System.out.println("hello\nworld");//\n 换行符
String s1=new String("hello");
String s2=new String("hello");
System.out.println(s1==s2);//false,比较地址
String s3="hello";
String s4="hello";
System.out.println(s3==s4);//true,比较值
-
类型转换
byte,short,char—>int —>long —>float —>double
int i=128; byte k=(byte)i;//强制转换 高容量——>低容量 double l=i;//自动转换 低容量——>高容量 System.out.println(i);//128 System.out.println(k);//-128,内容溢出 System.out.println(l);//128.0
char c='a'; int d=c+1; System.out.println(d);//98 System.out.println((char)d);//b
int money1=1000000000; int year1=20; int total1=money*year1; System.out.println(total1);//-1474836480 计算结果溢出 System.out.println("==================================="); int money2=1000000000; int year2=20; long total2=money2*year2;//将结果转换成long型,但是默认类型是int,转换之前已出现问题 System.out.println(total);//-1474836480 计算结果溢出 System.out.println("==================================="); int money3=1000000000; int year3=20; long tota3l=money*(long)year2;//先将一个数转换成long型 System.out.println(total);//200000000000
注意:
- 不能对布尔类型进行转换
- 不能把对象类型转换为不相干的类型
- 将高容量转换成低容量时,需要强制转换
- 注意转换的时候可能存在内容溢出,或者精度问题
-
变量、常量、作用域
-
变量
- 每个变量都有类型,可以是基本类型,也可以是引用类型
- 变量名必须是合法的标识符
- 变量声明是完整的语句,必须以分号结尾
-
常量
常量是一种特殊的变量,经过初始化后不能改变它的值,用final修饰,常量名一般使用大写字符表示
final double PI=3.14;
-
变量作用域
-
类变量:从属于类,随类出现与消失,用static修饰,可以全局使用
static int age1=10;
-
实例变量:从属于类
public class Demo1 { //实例变量,可以不进行初始化,返回默认值 String name;//默认值null,除了基本类型其余的都是null int age;//0 浮点型0.0 布尔型false public static void main(String[] args) { int i=10; System.out.println(i); Demo1 d=new Demo1();//实例化类 System.out.println(d.name); System.out.println(d.age); } }
-
局部变量:在类方法内定义和声明的变量,只能在该方法内使用
public void methods() { int i=0;//需要初始化 System.out.println(i); }
- 变量的命名规范
- 所有的变量、方法、类名要见名知意(最好不使用拼音)
- 类成员变量、局部变量、方法名:除了第一个单词以外,后面的单词首字母大写
- 常量:用大写字母和下划线表示
- 类名:每个单词首字母大写
-
-
运算符
- 算术运算符:+、-、*、/、%、++、–
- 赋值运算符:=
- 关系运算符:< 、>、<=、>=、==、!=instanceof
- 逻辑运算符:&&,||,!
- 位运算符:&,|,^,-
- 条件运算符: ?:
- 扩展赋值运算符: +=、-=、*=、/=
注意:
-
在计算时,如果参与运算的数中有double型的,结果是double型;如果没有double型,有long型则为long型。
-
自增运算符
int a=3; int c=a++;//先赋值给c,然后a再自增 System.out.println(c);//3 System.out.println(a);//4 int b=++a;//a先自增,然后再赋值给c, System.out.println(a);//5 System.out.println(b);//5
-
计算时可以借助工具类进行运算
double h=Math.pow(2,3); System.out.println(h);//8.0
-