数据类型:
java是强类型语言—>要求变量的使用严格符合规定,所有变量必须先定义再使用 弱类型语言—>要求变量的使用不必符合规定 变量名可以用中文命名—>但是不建议 数据类型可以分为两种类型:基本类型;引用类型(类,接口,数组)
八大基本数据类型:
byte num1 = 20; // 1Bshort num2 = 10000;// 2Bint num3 = 1000000;// 4Blong num4 = 1000L;//long类型要在数字后面加L 8Bfloat num5 = 1.5F;//float类型要在数字后面加F 4Bdouble num6 = 3.1415925;//8Bchar name = 'A';//2Bboolean flag = true;//占1bit
浮点数有关知识扩展: 浮点数表示范围有限同时是离散的,存在舍入误差, 大约, 接近但不等于 最好完全避免浮点数进行比较
类型转换: 类型转换 低—>高 byte,short,char-> int ->long -> float -> double 运算中,不同类型的数据先转化为同一类型,然后进行运算 强制类型转换:高—>低 自动类型转换:低—>高
- 注意点:
- 1.不能对布尔值进行转换
- 2.不能把对象类型转换为不相干的类型
- 3.在把高容量转换到低容量的时候,强制转换
- 4.转换的时候可能存在内存溢出,或者精度问题!
变量、常量、作用域、运算符
变量:可以变化的量 Java是一种强类型语言,每个变量都必须声明其类型 Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域 type varName [=value] [{,varName[=value]}]; 数据类型 变量名=值;可以使用逗号隔开来声明多个同类型变量(不推荐一次声明多个—>不利于程序可读性) 注意事项: 每个变量都有类型,类型可以是基本类型,也可以是引用类型 变量名必须是合法的标识符 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
常量:可以理解为特殊的变量,设定后值不能改变 常量名一般用大写字母表示,前要加final
变量的命名规范:所有变量,方法,类名:见名知意 类成员变量,局部变量,方法名:首字母小写和驼峰原则 常量:全大写和下划线 类名:首字母大写和驼峰原则
public class Demo03 {//类变量 static-->从属于类,与类一同出现,一同消失static double salary = 2500;//常量//final修饰符:不存在先后顺序static final double PI = 3.14;final static double PM = 3;//实例变量-->类里面,方法外面-->从属于对象 -->不初始化,会变成默认值0//实例变量和类变量的区别就是有无static关键词。//布尔值默认false//除了基本类型,其余的默认值都是nullString name;int age;//main方法:public static void main(String[] args) {//局部变量,必须声明和初始化值int i = 10;System.out.println(i);//实例变量的使用//变量类型 变量名字 = new Demo03()Demo03 demo = new Demo03();System.out.println(demo.age);System.out.println(demo.name);//类变量 staticSystem.out.println(salary);}}
运算符: 算术运算符:+,-,,%,/,++,— 赋值运算符: = 关系运算符:>,<,>=,<=,==,!=,instanceof 逻辑运算符:&&,|| 注意短路运算 a&&b或者a||b如果第一项可以判断正误,就直接短路运算 位运算符:&,|,^(异或),~(取反) 效率极高: << 左移 >> 右移 条件运算符:?: 扩展赋值运算符:+=,-= int a = 10; int b = 20; a += b; 字符串连接符:+ System.out.println(“”+ a +b);//3020 :在前面进行拼接 System.out.println(a+b+” “);//50:在后面不影响前面运算 关系运算符返回的结果:布尔值 eg.System.out.println(c == d); //false ++ — 自增,自减,一元运算符 幂运算:Math.pow(3,2):33
包机制和javadoc:
包机制:区别类名的命名空间 一般公司域名倒置作为包名 使用包中的成员,需要在java程序中明确导入该包,使用import语句可以完成此功能
javadoc命令生成自己的API文档的(/+enter自动生成) /
- @author 33769 /
