JAVA基础语法
-
注释、标识符、关键字
-
注释
1)单行//
2)多行/**/
3)文档/** */
-
标识符
1)所有标识符都要以大小写字母、下划线、美元符开头
2)关键字不能为变量名(ctrl+左键)
3)标识符大小写敏感
定义变量(String)
-
-
数据类型
基本数据类型
数值类型 byte(一个字节范围:-128-127)
short(两个字节范围:-32768-32767)
int(四个字节范围:-2147483648-2147483647)
long(8个字节范围:-9223372036854775808-9223372036854775807)Long类型要在数字后面加个L
浮点类型 float(四个字节)Lfloat类型要在数字后面加个F
double(8个字节)
字符类型char(两个字节)
字节:1bit(位) 1Byte表示一个字节 1B=8b(位)
1024B=1KB 1024KB=1M 1024M=1G 1024G=1TB
boolean类型:占一位其值只有true和false
import com.sun.javaws.IconUtil; import java.sql.SQLOutput; public class Demo01 { public static void main(String[] args) { //整数拓展 进制 二进制0b 十进制 八进制 十六进制0x int i = 10; int i2 = 010;//八进制 int i3 = 0x10;//十六进制0x 0-9 A-F 16 System.out.println(i); System.out.println(i2); System.out.println(i3); System.out.println("==============================="); //============================================================== //浮点数拓展 银行业务表示 //BigDecimal 数学工具类 //============================================================== //float 有限 离散 舍入误差 大约 接近但不等于 //double //最好完全使用浮点数进行比较 float f = 0.1f;//0.1 double d = 1.0 / 10;//0.1 System.out.println(f == d);//false System.out.println(f); System.out.println(d); float d1 = 231313123123f; float d2 = d1 + 1; System.out.println(d1 == d2);//true //============================================================== //字符拓展 //============================================================== char c1 = 'A'; char c2 = '中'; System.out.println(c1); System.out.println((int) c1);//强制换行 System.out.println(c2); System.out.println((int) c2);//强制换行 //所有的字符本质还是数字 //编码 Unicode 2字节 0-65536 Excel 2 16=65536 //U0000 UFFFF char c3 = '\u0061'; System.out.println(c3); //转义字符 //\t 制表符 //\n 换行 System.out.println("hello\tworld"); System.out.println("hello\nworld"); // String sa = new String("hello world"); String sb = new String("hello world"); System.out.println(sa == sb); String sc = "hello world"; String sd = "hello world"; System.out.println(sc == sd); //对象 从内存分析 //布尔值扩展 boolean flag = true; if (flag = true) { }//新手 if (flag) { }//老手 } }
引用类型
- 类
- 接口
- 数组
-
类型转换
低………………………………………………高
byte,short,char-> int -> long -> float ->double
public class Demo02 { public static void main(String[] args) { int i=128; byte b= (byte)i;//内存溢出 //强制转换 (类型)变量名 高……低 //自动转换 低……高 System.out.println(i); System.out.println(b); /* 注意点 1.不能对布尔值进行转换 2.不能对对象类型转换为不相干的类型。 3.在把高容量转换到低容量的时候,强制转换 4.转换的时候可能存在内存溢出,或者精度问题! */ System.out.println("==========="); System.out.println((int)23.7);//23 System.out.println((int)-45.89f);//-45 System.out.println("==========="); char c='a'; int d=c+1; System.out.println(d);//98 System.out.println((char)d);//b } }
-
public class Demo03 { public static void main(String[] args) { //操作数比较大的数的时候,注意溢出问题 //JDK7新特性,数字之间可以用下划线分割 int money=10_0000_0000; int years=20; int total=money*years; //类型转换 long total1=money*((long)years); System.out.println(years); System.out.println(money); System.out.println(total);//-1474836480 计算时溢出 System.out.println(total1);//20000000000 } }
-
变量、常量
java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
public class Demo04 { public static void main(String[] args) { //int a,b,c; //int a=1,b=2,c=3;//程序可读性 String name="daiwei"; char x='X'; double p1=3.14; } }
//常量 final 常量名=值; final double PI 3.14; //常量名一般使用大写字符
type varName [=value] [{,varName[=value]}]; //数据类型 变量名=值;可以使用逗号隔开来声明多个同类型变量。
public class Demo05 { //类变量 static static double salary=2500; //属性 //实例变量,从属于对象;如果不自行初始化,这个类型的默认值 0 0.0 //布尔值:默认为是false //除了基本类型,其余默认值都是null String name; int age; //main方法 public static void main(String[] args) { //局部变量;必须声明初始值 int i=10; System.out.println(i); //变量类型 变量名字=new Demo05(); Demo05 demo05 =new Demo05(); System.out.println(demo05.age); System.out.println(demo05.name); //类变量 static System.out.println(salary); } public void add(){ } }
命名规范
所有变量、方法、类名:见名知意
类成员变量:首字母小写和驼峰原则:monthSalary除了第一个单词以外,后面的单词首字母大写 lastname lastName
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则:Man,GoodMan 规范
方法名:首字母小写和驼峰原则:run(),runRun()
public class Demo06 { //修饰符,不存在先后顺序 static final double PI=3.14; public static void main(String[] args) { System.out.println(PI); } }
-
运算符
算术运算符:+,-,,\,%,++,–
package operator; public class Demo01 { public static void main(String[] args) { //二元运算符 //Ctrl+D :负责当前行到下一行 int a=10; int b=20; int c=25; int d=25; System.out.println(a+b); System.out.println(a-b); System.out.println(a*b); System.out.println(a/(double)b); } }
package operator; public class Demo04 { public static void main(String[] args) { //++ -- 自增,自减,一元运算符 int a=3; int b=a++;//执行完这行代码后,先给b赋值,再自增 //a++ a=a+1 System.out.println(a);//4 //a++ a=a+1 int c=++a;//执行完这行代码后,先自增,在给c赋值 System.out.println(a);//5 System.out.println(b);//3 System.out.println(c);//5 //幂运算 2^3 2^2^2=8 //很多运算,我们使用工具类来操作! double pow= Math.pow(2,3);//8.0 System.out.println(pow); } }
*赋值运算符:=
package operator; public class Demo02 { public static void main(String[] args) { long a=123123123123123L; int b=123; short c=10; byte d=8; System.out.println(a+b+c+d);//Long System.out.println(b+c+d);//Int System.out.println((double)c+d);//double System.out.println(c+d);//Int } }
*关系运算符:>,<,>=,<=,==,!=instanceof
package operator; public class Demo03 { public static void main(String[] args) { //关系运算符返回的结果:正确,错误,布尔值 int a=10; int b=20; int c=21; System.out.println(c%a);//取余(模运算)1 System.out.println(a>b);//false System.out.println(a<b);//true System.out.println(a==b);//false System.out.println(a!=b);//true } }
*逻辑运算符:&&,||,!
package operator; //逻辑运算符 public class Demo05 { public static void main(String[] args) { //与(and) 或(or) 非(取反) boolean a=true; boolean b=false; System.out.println("a&&b: "+(a&&b));//false System.out.println("a||b: "+(a||b));//true System.out.println("!(a&&b): "+!(a&&b));//true //短路运算 int c=5; boolean d=(c<4)&&(c++<4); System.out.println(d);//false System.out.println(c);//5 } }
位运算符:&,|,^,~,>>,<<,>>>
package operator; //位运算 public class Demo06 { public static void main(String[] args) { /* A=0011 1100 B=0000 1101 A&B 0000 1100 相同为1 A|B 0011 1101 有1就为1 A^B 0011 0001 不同为1 ~B 1111 0010 2^8=16 2*2*2*2 << *2 >> /2 0000 0000 0 0000 0001 1 0000 0010 2 0000 0011 3 0000 0100 4 0000 1000 8 0001 0000 16 */ System.out.println(2<<3); } }
条件运算符:?
package operator; //三元运算符 public class Demo08 { public static void main(String[] args) { //x?y:z //如果x=true,则结果为y,否则结果为z int score=80; //必须掌握 String type= score<60?"不及格":"及格"; System.out.println(type); } }
扩展赋值运算符:+=,-=,*=,/=
package operator; public class Demo07 { public static void main(String[] args) { int a=10; int b=20; a+=b;//a=a+b a-=b;//a=a-b System.out.println(a);//10 //字符串连接符 + , String System.out.println(a+b);//30 System.out.println(a+b+"");//30 System.out.println(""+a+b);//1020 } }
-
包机制(本质文件夹)、javaDoc
包语句的语法格式为:
package pkg1[,pkg2[,pkg3……]];
//导入包使用import import package1[,package2……],(classname|*);
package com.study.basc; /** * @author * @version 1.0 * @since 1.8 */ public class Doc { String name; /** * * @param name * @return * @throws Exception */ public String test(String name)throws Exception{ return name; } }
命令:
javadoc -encoding UTF-8 -charset UTF-8 Doc.java
//-encoding 是Java代码编码,-charset是对生成文档所问的编码
-encoding UTF-8 -charset UTF-8 -windowtitle “test”
-windowtitle就是对应html的
标签
https://blog.youkuaiyun.com/qq_42498502/article/details/90078972?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase