Java基础内容
注释方法
单行注释: //balabalabalabala
多行注释:(斜杠 星号)(balabalabalabala好几行)(星号 斜杠)
JavaDoc文档注释:(斜杠 两个星号)(balabalabalabala好几行)(星号 斜杠)
起名方案
所有变量、方法、类名:见名知意
类成员变量:首字母小写和驼峰原则:monthSalary除了第一个单词以外,后面的单词首字母大写lastname lastName
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则:Man, GoodMan
方法名:首字母小写和驼峰原则:run(),runRun()
包名
包本质就是一个文件夹。
一般用公司域名倒置作为包名。
API帮助文档
可以百度搜索jdk帮助文档。
javadoc命令是用来生成自己的API文档的。
基础java内容学习
基础代码学习
Demo1
package com.yuan.base;
public class Demo1 {
public static void main(String[] args) {
String a = "iioo";
int num = 10;
System.out.println(a);
System.out.println(num);
//整数
int num1 =10;
byte num2 = 20;
short num3 = 30;
long num4 = 40L; //long类型要在数字后面加L
//浮点数
float num5 = 52.01F;//float类型要在数字后面加F
double num6 = 3.141592653589793238462643;
//字符型
char name ='A';//字符型只能有一个字符
String name1="AAAA";//string不是关键字,而是类
//布尔值
boolean flag1 =true;
boolean flag2 =false;
}
}
Demo2
package com.yuan.base;
public class Demo2 {
public static void main(String[] args) {
//整数拓展
// 二进制用0b开头,八进制用0开头,十六进制英用0x开头
System.out.println("================================");
int i =10;
int i2 =0b10;
int i3 =010;
int i4 =0x10;
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println(i4);
/*浮点数拓展
float double 有限 离散 舍入误差 大约 接近但不等于
最好完全避免使用浮点数进行比较
银行业务等可以使用BigDecimal 数学工具类
*/
System.out.println("================================");
float f = 0.1f;
double d =1.0/10;
System.out.println(f);
System.out.println(d);
System.out.println(f==d);
float d1 = 23222323232323232332f;
float d2 = d1 + 1;
System.out.println(d1 == d2);
/*
字符拓展
*/
System.out.println("================================");
char c1 ='a';
char c2 ='中';
System.out.println(c1);
System.out.println((int) c1); //强制转换
System.out.println(c2);
System.out.println((int) c2);//强制转换
char c3 ='\u6211';//转义字符
System.out.println(c3);
}
}
Demo3
package com.yuan.base;
public class Demo3 {
public static void main(String[] args) {
int i =128;
byte a =(byte)i;
double b = i;
//强制转换 (类型)变量名 高->低
//自动转换 低->高
System.out.println(i);//128
System.out.println(a);//-128 内存溢出
System.out.println(b);//128.0
/*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);
System.out.println((char)d);
}
}
Demo4
package com.yuan.base;
public class Demo4 {
public static void main(String[] args) {
//操作比较大的数的时候,注意溢出问题
//JDK7新特性,数字之间可以用下划线进行分割,不影响输出
int money = 10_0000_0000;
System.out.println(money);//1000000000
int years = 20;
int total = money*years;//结果溢出
long total2 = money*years;//默认是int,转换以前已经存在问题了
long total3 = money*((long)years);
System.out.println(total);
System.out.println(total2);
System.out.println(total3);
}
}
Demo5
package com.yuan.base;
public class Demo5 {
//类变量 static
static double salary = 2500;
//属性:变量
//实例变量:从属于对象;如果不自行初始化,这个类型的默认值 0 0.0 u0000
//布尔值:默认为false
//除了基本类型,其余的默认值都是NULL;
String name;
int age;
//main方法
public static void main(String[] args) {
//局部变量:必须声明和初始化值
int i =10;
System.out.println(i);
//变量类型 变量名字 = new com.yuan.base.Demo5();
Demo5 demo5 = new Demo5();
System.out.println(demo5.age);
System.out.println(demo5.name);
//类变量 static
System.out.println(salary);
}
}
Demo6
package com.yuan.base;
public class Demo6 {
//修饰符,不存在先后顺序
// final表示常量 常量最好用大写字母和下划线 例如:MAX_VALUE
static final double PI =3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
Doc
package com.yuan.base;
/**
* @author codehuman
* @version 1.0
* @since 1.8
*/
//为类加东西
public class Doc {
String name;//类变量 是一个属性
//为方法加东西
/**
* @author codehuman
* @param name
* @return
* @throws Exception
*/
public String test(String name) throws Exception{
return name;
}
}
/*
所有参数:
@author 作者名
@version 版本号
@since 指明需要最早使用的jdk版本
@param 参数名
@return 返回值情况
@throws 异常抛出情况
*/
//可以通过命令行生成文件(见笔记) javadoc 参数 文件
//也可以直接在idea里面生成javadoc文档!不会就上百度查,一定要养成面向百度编程的习惯
运算操作符学习
Demo1
package com.yuan.operator;
public class Demo1 {
public static void main(String[] args) {
//二元运算符
//ctrl + D :将当前行复制到下一行
int a = 10;
int b = 20;
int c = 30;
int d = 40;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);
}
}
Demo2
package com.yuan.operator;
public class Demo2 {
public static void main(String[] args) {
long a = 15616131515161561L;
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(c+d);//Int
double pow = Math.pow(2, 3);//幂运算
System.out.println(pow);
}
}
Demo3
package com.yuan.operator;
public class Demo3 {
public static void main(String[] args) {
//短路运算
int c = 5;
boolean d =(c<4)&&(c++<4);//没有执行后面的c++运算,因为前面的c<4的结果一定是false
System.out.println(d);
System.out.println(c);
//位运算
/*
A = 0011 1100
B = 0000 1101
A&B = 0000 1100 //与
A/B = 0011 1101 //或
A^B = 0011 0001 //异或
~B = 1111 0010 //非
2*8 = 16 2*2*2*2
位运算效率极高
<< 左移,相当于*2
>> 右移,相当于/2
*/
System.out.println(2<<3);
}
}
Demo4
package com.yuan.operator;
public class Demo4 {
public static void main(String[] args) {
int a = 10;
int b = 20;
a+=b;
System.out.println(a);
//字符串连接符 + , 字符串在加号前面,就会进行拼接,如果字符串在后面会先运算前面的
System.out.println(a+b);
System.out.println(""+a+b);
System.out.println(a+b+"");
System.out.println(a+b+""+a+b);
System.out.println("================================");
//三元运算符
int score = 50;
String type = score<60? "不及格":"及格";//必须掌握
System.out.println(type);
//优先级:()>一元运算符>加减乘除>与或非
}
}
Demo5
package com.yuan.operator;
//package必须放在最上面
import com.yuan.base.Demo1;
import com.yuan.base.*;
//*是通配符,导入包下所有的类
import java.util.Date;
//导入Java中已有的类
public class Demo5 {
public static void main(String[] args) {
}
}