Java开发工具
MyEclipse、eclipse、JDeveloper、JBuilder、IDEA
以MyEclipse为例
创建一个java项目和新建一个java类
打开软件,选择一个工作空间
修改字符集的编码:window-preferences-搜索content types-讲所有的字符集编码全部设置为utf-8
新建项目:file-new -java project-输入工程名-点击 finish
新建java文件:右击src-new-class-填写名称-点击finish
控制台乱码的解决方法
找到MyEclipse的安装目录-打开myeclipse.ini-添加“-Dfile.encoding=UTF-8”-重启软件
变量使用
(1)变量使用语句
变量类型 变量名=值
(2)tips
变量必须声明后使用
一条语句可以同时声明多个变量,但必须是同一个类型的
变量名的要求:1.可以由字母、数字、_、$组成
2.不能以数字开头
3. 区分字母的大小写
4. 不能使用java中已经有特殊含义作为变量名
5. 可以使用中文作为变量名,但是不提倡
6. 遵循驼峰命名法:除第一个单词外,其他单词第一字母大写,其余字母小写
7. 未经初始化的变量不能使用
8. 变量初始化:声明时候可以初始化或者第一次使用前初始化
9. 不同类型的变量不能直接操作
10.同一个作用域内,变量的名称不能重复
常用的基本数据类型
数值类型:byte short int long double float
非数值类型: char boolean String(String不是基本的数据类型)
(3)基本数据类型
1.整数类型的使用
默认为int型
值可以用十进制,八进制,十六进制表示 eg:int=0xABCDEF(十六进制前面是零) int=01234(八进制,前面也是零)
不能超过变量的使用范围
整型相除是取整,不是四舍五入
整数运算时,结果超过最大的正数为负,结果超过最小的负数为正
使用long型时,数字必须后面加上"l"或者"L"
如果结果是要long型,只要其中一个是long型就行了
long millis=System.currentTimeMillis();//距离1970年1月1日的毫秒数
2.浮点型的使用
默认是double型
double是双精度,float是单精度,double的精度要求比float的高,大部分使用的是double
double类型 eg:double a=0.5 double a=1.25E2(科学计数法)
float类型 eg:float a=3.14f (float 类型后面要加上f或者F)
douible型进行运算的时候会有误差
不同类型运算时,是向数据中大的范围转化后再进行运算
eg: double a=80/100; (右边都是整形int,80/100=0在转化为double型0.0)
double a=80.0/100(右边最高是double ,80.0/100=0.8)
3.字符型的使用
char字符是16为位,使用unicode进行字符编码的(为全世界的字符提供了统一的编码规则)
char是使用的单引号 char a='中' char a='\u4e2d' 都表示的中文“中”
char直接等于数字,是直接求解对应的ASCII码 eg:char a=65 (表示的A)
3.逻辑型的使用
boolean值取true和false
4.类型的转化
隐士转化(自动转化):只能小范围的向大范围的转化,将自动转化。范围从小到大:byte<short<int(char)<long<float<double,
boolean不能与其他类型相互转化
不同类型运算时,会向大范围的转化进行运算
显示转化:1.由范围大向范围小转化:在等式的右边,值的前面加上“(类型)”,进行强制转化,精度会丧失
2(1)xxx.toString():任何类型都可以转化为String
(2)String.valueof(xxx);转化为String
3.parsexxx():将字符类型转化为对应的数值类型
BigDecimal用法
BigDecimal a=new BigDecimal(0.1);
BigDecimal a=new BigDecimal(Double.toString(0.1));
注意:new的括号里面可以值或者String类型,一般都是采用String类型
方法:a.add(b) 表示a+b
a.subtract(b) 表示a-b
a.multiply(b) 表示a*b
a.divide(b,保留的小位数,采用哪种保留小数的原则) 表示a/b
获取键盘输入
Scanner sc=new Scanner(System.in);
String s=sc.next();
注:Scanner是要导入需要的类的 import java.util.Scanner
装箱和拆箱(jdk1.5起的新特性)
装箱:基本类型转化为对应的包装类型
拆箱:包装类型拆为对应基本类型
装箱方法(两种):int a=1;
eg1. Integer a1=new Integer(a);
eg2 Integer a2=Integer.valueof(a);
拆箱方法:xxx.基本类型value();
eg Double d=new Double(1.1);
double dd=d.doublevalue();
基本类型 包装类型
byte Byte
short Short
int Integer
long Long
double Double
float Float
boolean Boolean
char Character
注:为什么要装箱拆箱?
1.是JAVA面向对象的完善。基本类型不是对象,包装类型是对象
2.多了可进行调用方法
3.泛型中只能使用包装类型 eg: List<Byte> list=new ArrayList<Byte>;