Java基础知识
基本概念
-
JDK(Java开发工具)> JRE (Java 运行环境) > JVM(Java虚拟机)
-
Java为强类型语言,要求变量的使用必须先定义后使用
-
Java基本数据类型(8种):基本类型:(整数型 byte_1,short_2,int_4,long_8),浮点型(float_4,double_8),字符类型(char_2),布尔型(boolean_1),引用类型:类,接口,数组(String 属于引用类型)
-
整数表示: 二进制数字开头0b ,八进制 0,十六进制0x
-
浮点表示:(不能用于银行等数据业务),尽量不用浮点数进行比较,比较可用 BigDecimal 数学工具类
float f = 0.1f; //0.1 double d = 1.0/10; //0.1 System.out.print(f == d); //false float f1 = 23233333323232; float f2 = f1 + 1; System.out.print(f1 == f2); //true
-
类型转换:所有的字符本质还是数字(编码问题)Unicode表:U0000-UFFFF
**低 --> 高:**byte,short,char —>int -->long—>float—>double
byte,short,char进行运算,最后都是转换成int类型
**高到低:强制类型转换 **
int i = 10; byte b = (int)i;//强制类型转换 double d = i;//自动类型转换
强制转换可能存在内存溢出或者精度问题
低到高:自动转换
//操作大数,注意溢出问题 //JDK 7 新特性,数字之间可以用下划线分割 int money = 10_0000_0000;
String sa = new String("hello"); String sb = new String("hello"); //sa == sb false String sc = "hello"; String sd = "hello"; //sc == sd true //原因sa sb都开辟了新的空间,sc,sd用的是"hello"这一个空间
-
-
-
1B(byte,字节) = 8(bit,位)
-
变量要素:变量名(变量名不要用拼音,变量名和方法名一般首字母小写和驼峰原则,常量全部大写和下划线,类名全部大写+驼峰原则);变量类型:基本和引用;和作用域(类变量(static修饰),实例变量(从属于对象),局部变量(方法体内))
常量:一般大写,使用final修饰
//此类说明变量的作用域 public class Demo { //实例变量:从属于对象 //不进行初始化,会默认赋值 //数值类型默认 0 0.0 布尔类型默认 false 除了基本类型外,默认都为 null String name; int age; //类变量 static double salary = 2500; //常量,static,final修饰符此处不存在先后顺序 static final double PI = 3.14; public static void main(String[] args) { //局部变量:必须声明和初始化值 int i = 10; //实例变量使用 //变量类型 变量名 = new Demo(); Demo demo = new Demo(); System.out.println(demo.age); //0 System.out.println(demo.name);//null //类变量 System.out.println(salary); //2500 } }
-
自增和自减(++和–)
int a = 3; int b = a++; // 此处 a++ 即 a = a + 1,++在a的后面,所以先赋值给b,再进行自增,结果: b = 3, a = 4 int c = ++a // ++在前,自增在前,再进行赋值,结果,c = 5, a = 5
-
位运算符
/* A = 0010 1100 B = 0000 1101 A & B = 0000 1100(都为1才为1) A | B = 0010 1101(见1为1) ~A = 1101 0011(按位取反) 重点:!!! 2<<3 //16 << 代表 *2 >> 代表 /2 */
-
+连接符和+=等及条件运算符
int a = 10; int b = 20; a += b; // a = a + b a -= b; // a = a - b 类似还有 *=,/= //输出语句中,注意”“出现的位置,在前面的按照原本的计算规则,在""后面的拼接成字符串 System.out.println(""+a+b);//1020 System.out.println(a+b+"");//30 //a ? b : c //若a 为真,结果为b,否则为 c String score = 70 < 60 ? "不及格": "及格"
-
一般利用公司域命倒置作为包名:www.baidu.com (package com.baidu.www;)
使用中package 必须在import上面
-
API文档:命令行模式:javadoc 参数 Java文件
以上内容来自狂神说Java学习笔记~