回顾java知识做了以下总结,如果有什么问题,希望能指出来一起学习(未更新完,后期补)
一、Java的简单介绍
Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。
Java分为三个体系:
二、Java基础
public class Hello {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
public class Hello {
public static void main(String[] args) {
//1、类型的定义
//内置数据类型:byte、short、int、long(整数)、float、double(浮点数)、char(字符)、boolean(布尔)
//数值型:整型、浮点型
//整型:byte、short、int、long
// int 包装类:java.lang.Integer
int i = 1;
System.out.println("int 二进制位数:" + Integer.SIZE); //int 二进制位数:32
System.out.println("最小值:" + Integer.MIN_VALUE); //最小值:-2147483648
System.out.println("最大值:" + Integer.MAX_VALUE); //最大值:2147483647
// long 包装类:java.lang.Long
long l = 100000L;
System.out.println("long 二进制位数:" + Long.SIZE); //long 二进制位数:64
System.out.println("最小值:" + Long.MIN_VALUE); //最小值:-9223372036854775808
System.out.println("最大值:" + Long.MAX_VALUE); //最大值:9223372036854775807
// byte 包装类:java.lang.Byte
byte b = 10;
System.out.println("byte 二进制位数:" + Byte.SIZE); //byte 二进制位数:8
System.out.println("最小值:" + Byte.MIN_VALUE); //最小值:-128
System.out.println("最大值:" + Byte.MAX_VALUE); //最大值:127
// short 包装类:java.lang.Short
short s = 1000;
System.out.println("short 二进制位数:" + Short.SIZE); //short 二进制位数:16
System.out.println("最小值:" + Short.MIN_VALUE); //最小值:-32768
System.out.println("最大值:" + Short.MAX_VALUE); //最大值:32767
//数据溢出问题
int number=Integer.MAX_VALUE;
long rs=number+1;
System.out.println(rs);//-2147483648
/**
*程序执行顺序由等号的右边到左边,如果像以上计算结果就会出现数据溢出
*解决数据溢出的方式
*1、long rs=(long)number+1;
*2、long num1=number; long rs=num1+1;
*/
//浮点型
// float 包装类:java.lang.Float
float f1 = 234.5f;
System.out.println("float 二进制位数:" + Float.SIZE); //float 二进制位数:32
System.out.println("最小值:" + Float.MIN_VALUE); //最小值:1.4E-45
System.out.println("最大值:" + Float.MAX_VALUE); //最大值:3.4028235E38
// double 包装类:java.lang.Double
double d1 = 123.4;
System.out.println("double 二进制位数:" + Double.SIZE); //double 二进制位数:64
System.out.println("最小值:" + Double.MIN_VALUE); //最小值:4.9E-324
System.out.println("最大值:" + Double.MAX_VALUE); //最大值:1.7976931348623157E308
//字符型
// char 包装类:java.lang.Character
char c = 'A';
System.out.println("char 二进制位数:" + Character.SIZE); //char 二进制位数:16
// 以数值形式而不是字符形式将Character.MIN_VALUE输出到控制台
System.out.println("最小值:" + (int) Character.MIN_VALUE); //最小值:0
// 以数值形式而不是字符形式将Character.MAX_VALUE输出到控制台
System.out.println("最大值:" + (int) Character.MAX_VALUE); //最大值:65535
//布尔型
// boolean true/false
boolean isboolean = false;
if( i < 100){
isboolean=true;
}
System.out.println(isboolean); //true
//引用数据类型:String、对象、数组
//String的使用(https://blog.csdn.net/ScarletLina/article/details/79852101)
//类型之间的转换(常见)布尔型和其它基本数据类型之间不能相互转换;
//byte型可以转换为short、int、、long、float和double;
//int可转换为long、float和double;
int a = 1;
long lc = a;
System.out.println(lc);
//short可转换为int、long、float和double;
short s1 = 1; s1 +=1;//s1 = s1 + 1;(编译错误)
System.out.println(s1);
//char可与int相互转换;
int aa=21517;
char sa=(char)aa;
System.out.println("aa:"+sa);
char c1 = '名';
int num =c1;
System.out.println(num);
//强制转换
//long可转换为float和double;
//float可转换为double;
}
}
1、声明数组
数组类型[] 数组名;
数组类型 数组名[];
//示例:声明一个int类型数组
int[] intArr;
2、数组初始化
数组名=new 数据类型[]{元素值1,元素值2,...元素值n}
//示例
intArr=new int[]{99,98,55,66};
数据类型 数组名[]={元素值1,元素值2,...元素值n}
int[] intArr={99,98,55,66};
3、一维数组
int array[] = {1, 5, 3,2,5,8, 4};//数组的定义
for(int i=0;i
public class A{
private int age; //私有属性
//提供两个公共方法,对类的私有属性进行赋值和取值
public int getAge(){
return age;
}
public void setAge(int age){
this.age=age;
}
}
3)、多态:重写和重载public class Overload{
public void test(){
System.out.printLn("无参数方法");
}
public void test(String msg){
System.out.printLn("重载方法"+msg);
}
public static void mian(String[] args){
Overload ol=new Overload();
ol.test();
ol.test("测试");
}
}
控制台输出
无参数方法
重载方法测试
重写:子类重写父类的方法,方法名、参数列表和返回类型完全一样public class Demo{
private static String name="张三";//静态变量
private String sex;
private static int age=12;
public Demo(String sex){
this.sex=sex;
}
//静态方法
public static void age(){
System.out.println(age);
}
public void info(){
System.out.println(sex);
System.out.println(name);
}
}
public class Test{
public static void main(String[] args){
Demo.age();
Demo d=new Demo("男");
d.info();
}
}
控制台打出:
12
男
张三
public class ITCompany{
private String name;
private int age;
public ITCompany(){
//无参构造方法
}
public ITCompany(String name,int age){
//有参构造方法
this.name=name;
this.age=age;
}
}
注:构造方法不可以用void修饰
public class ITCompany{
private int age;
public int getAge(){
return age;
}
public void setAge(int age){
//this调用当前对象的属性
this.age=age;
}
public ITCompany(){
//无参构造方法
}
public ITCompany(String name,int age){
//有参构造方法
//this调用自身对象的构造方法
this.name=name;
this.age=age;
}
}
2)、super关键字:表示当前对象的父类引用
调用父类的成员的属性和方法
调用父类的某个特定的构造方法
//循环while、 do…while、for
int a=3,b=5;
int i=0;
while(a
//算术运算符:+、–、* 、/、%、^、! 、|X|
int a=3,b=5;
int num=0;
//+(加号) 加法运算
num=a+b;
System.out.println(num);//8
//–(减号) 减法运算
num=b-a;
System.out.println(num);//2
//*(星号) 乘法运算
num=a*b;
System.out.println(num);//15
// /(正斜线) 除法运算
num=b/a;
System.out.println(num);//1
//%(百分号) 求余运算
num=b%a;
System.out.println(num);//2
//^(乘方) 乘幂运算
num=b^a;
System.out.println(num);//6
// 求正 Math.abs(变量)
num=a-b;
System.out.println(Math.abs(num));//2
//赋值运算=、*=、/=、%=、+=、–=、<<=、>>=、&=、^=、|=
System.out.println("===========赋值运算===============");
int c=3,e=2,f=e;
c*=e;
System.out.println(c);//6
System.out.println(e);//2
c=c*e;
System.out.println(c);//12
System.out.println(f);//2
int d,g=3,h=5;
d=h-g;
System.out.println(d);//2
d+=g;
System.out.println(d);//5
System.out.println(g);//3
d=+g;
System.out.println(d);//3
System.out.println(g);//3
//逻辑运算符 &与&&、|与||、&&(逻辑与)", "||(逻辑或)", "!(逻辑非)
int number=2,num1=3,num2=5;
if(num2number){
System.out.println("||满足条件");
}
if(num2number){
System.out.println("&&满足条件");
}
if(!(num2number){
System.out.println("!满足条件");
}
java异常处理机制主要依赖于try,catch,finally,throw,throws五个关键字。
//java异常处理机制主要依赖于try,catch,finally,throw,throws五个关键字。
// 语法:
// Try{
// 可能出现异常的代码
// }catch(Exception e){
// 出现异常后的处理
// }finally{
// 不管出现异常与否都要执行的代码
// }
// Throw是代码需要创建一个异常时的关键字,写在方法体里
// Throws是当前方法会有异常抛出的声明,写在方法签名
package org.com.test;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Random;
public class Times {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
System.out.println("cal:"+cal);
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1;
int day = cal.get(Calendar.DATE);
int nowHour = cal.get(Calendar.HOUR_OF_DAY);
System.out.println(year);
System.out.println(month);
System.out.println(day);
System.out.println(nowHour);
//使用Calendar来获取当前日期和时间
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss-SSS");
System.out.println("format获取的:"+format);
String time=format.format(Calendar.getInstance().getTime());
System.out.println(time);
SimpleDateFormat format1=new SimpleDateFormat("yyyy-MM-dd");
String time1=format1.format(Calendar.getInstance().getTime());
System.out.println(time1);
SimpleDateFormat format2=new SimpleDateFormat("HH-mm-ss-SSS");
String time2=format2.format(Calendar.getInstance().getTime());
System.out.println("time2:"+time2);
Calendar calendar = Calendar.getInstance();
System.out.println("Calendar获取的是:"+calendar);
System.out.println(calendar.getTime());
}
}
BigDecimal的用法
package org.com.test;
import java.math.BigDecimal;
public class BigDecimalDemo {
public static void main(String[] args) {
//使用数字构造和字符构造的区别
double num=3.1415;
BigDecimal value1=new BigDecimal(num);
System.out.println("数字构造:"+value1); // 数字构造:3.141500000000000181188397618825547397136688232421875
BigDecimal value2=new BigDecimal(Double.valueOf(num).toString());
System.out.println("字符构造:"+value2); //字符构造:3.1415
BigDecimal value =value2.setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println(value); //3.14
//舍入趋向于零的方式
value=value2.setScale(2, BigDecimal.ROUND_DOWN);
System.out.println(value); //3.14
//舍入远离零的方式
value=value2.setScale(2, BigDecimal.ROUND_UP);
System.out.println(value); //3.15}
随机数
package org.com.test;
import java.util.Random;
public class RandomDemo {
public static void main(String[] args) {
Random random = new Random();
String only=String.valueOf(random.nextInt(6));//6是不包含在内的,只产生0~6之间的数。
String onlysign = String.valueOf(random.nextInt(5)+4);//random.nextInt(5)只产生0~5之间的数(0,1,2,3,4),随机生成4、5、6、7、8
System.out.println(only);//0、1、2、3、4、5
System.out.println(onlysign);//4、5、6、7、8
}
}
三、面向对象(继承、封装、多态)
四、知识延伸
public class ConnectDB {
public static Connection getConnection() {
Connection connection = null;
try {
Class.forName("com.mysql.jdbc.Driver");
//-----在url后面添加useUnicode=true&characterEncoding=UTF-8这些参数是为了让mysql数据库可以识别中文-----
String url = "jdbc:mysql://数据库ip地址/数据库名?useUnicode=true&characterEncoding=UTF-8";
String username = "root";
String password = "";
try {
connection = DriverManager.getConnection(url,username,password);
System.out.println("数据连接成功!");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return connection;
}
public static void main(String[] args) {
getConnection();
}
}