JAVA
java-day01
一.java简介
-
1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器;1994年将Oak语言更名为Java;
-
Java的三种技术架构:
-
JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础;
-
JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发;
-
JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序;
-
-
java分为两个部分:先编译后翻译
-
javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指定扩展名的.java文件进行编译。 生成了jvm可以识别的字节码文件。也就是class文件,也就是java的运行程序。
-
java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行.一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数.
二.java语法
-
关键字
abstract assert boolean break byte case catch char class const continue default do double else enum extends final finally float for goto if implements import instanceof int interface long native new package private protected public return strictfp short static super switch synchronized this throw throws transient try void volatile while -
标识符:其实就是在程序中自定义的名词。
注意:①:数字不可以开头。
②:不可以使用关键字。
-
常量:是在程序中的不会变化的数据。
-
final 常量类型 常量名 = 常量值;
-
常量名一般用大写字母
-
修饰符static可以在final的前面或后面
public class Constant {
static final double PI = 3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
-
变量
-
局部变量:使用前必须声明和初始化值(在main方法中使用)
-
实例变量:从属于对象,如果不进行初始化,数字类型默认为 0、0.0;布尔值默认为false;其他类型默认为null(必须重写方法再能使用)
-
类变量 : 带static(静态的,可以在这个类中直接使用这个变量)
public class Variable{
static int allClicks=0; //类变量 static 静态的
String str = "hello world"; //实例变量
public void method(){
int i = 0; //局部变量
}
}
-
数据类型
-
引用数据类型: 数组、类、接口。
-
八大基本类型:byte、short、int、long、float、double、char、boolean
低---------------------------------------->高
byte,short,char-->int-->long-->float-->double //浮点型高于整型
由高到低,需要进行强制类型转换, (类型)变量名
由低到高,自动类型转换
注意:
1. 不能对布尔值进行转换
2. 不能把对象类型转换为不相干的类型(对象类型?)
3. 在把高容量转换到低容量的时候,需要进行强制类型转换
4. 转换的时候可能存在内存溢出或精度问题
-
命名规范
-
类名:首字母大写和驼峰原则:Man、GoodMan
-
类成员变量:首字母小写或驼峰原则:monthSalary
-
常量:大写字母和下划线:MAX_VALUE
-
方法名:首字母小写和驼峰原则:run()、runRun()
-
局部变量:首字母小写或驼峰原则
-
运算符
单目:单目运算符+ –(负数) ++ -- 等 乘除:算数单目运算符* / % + - 为:位移单目运算符<< >> 关系:关系单目运算符> < >= <= == != 逻辑:逻辑单目运算符&& || & | ^ 三目:三目单目运算符A > B ? X : Y 后:无意义,仅仅为了凑字数 赋值:赋值=
package Operators;
/*
位运算符
*/
public class BitwiseOperators {
public static void main(String[] args) {
/*
A = 0011 1100
B = 0000 1101
------------------
&:按位与
|:按位或
^:按位异或,相同得0,不同得1。如:A^B = 0011 0001
~:按位取反
面试题:怎样计算 2*8 = 16 最快?
答:2<<3,将2左移三位
2: 0000 0010
16: 0001 0000
<<:左移,相当于 *2
>>:右移,相当于 /2
*/
System.out.println(2<<3); //2*2^3
System.out.println(2<<7);
System.out.println(2<<15);
System.out.println(2<<29); //左移尽头
System.out.println(2>>1);
System.out.println(2>>2); //右移尽头
}
}public class TernaryOperator {
public static void main(String[] args) {
int a = 10;
int b = 20;
// 字符串连接符:+
System.out.println(""+a+b); // 输出结果为 1020
System.out.println(a+b+""); // 输出结果为 30
System.out.println("---------------");
/*
条件运算符:条件 ? 表达式1:表达式2;
若条件成立,则结果为表达式1;反之,结果为表达式2
*/
int score = 60;
String result = score>=60? "及格":"不及格";
System.out.println(result);
}
}
优先级:
-
Math 类
幂运算 (2^3=8)
package Operators;
public class Operator {
public static void main(String[] args) {
double pow = Math.pow(2, 3); //2^3=8 power 幂
System.out.println(pow);
}
}
-
标签:JAVA,java,System,static,println,studyDay01,public,out From: https://www.cnblogs.com/wase/p/17117770.html