JavaBasicLearning01

Java基础学习


Java语言的特点

  1. 跨平台
  2. 安全
  3. 面向对象
  4. 多线程
  5. 分布式

Java应用

  1. 主要是在Web端的企业级应用
  2. 家用电器

Java北上广深薪资

  1. 比较高
  2. Python>Java>PHP

Java跨平台实现

HelloWorld.java–> HelloWorld.class–>JVM(Java虚拟机)

JDK –> JRE –> JVM

Java作用:运行检查时使用

Javac作用:编译时使用


Java基础

public修饰的类应该和类名一致,如下所示

1
2
3
4
5
public class Hello(){
public static void main(String[] args) {
System.out.println("Hello Java");
}
}

标识符:见名知意

保留字和关键字:起类名的时候不能用

包名小写,类名接口名XXxxXX,变量名xxXX,常量名XX_XX

变量名:先声明,后使用
数据类型:基本数据类型(八种)–>byte/short/long/char/int/float/double/boolean
引用数据类型:类class/接口/数组

数据类型强制转化(自动转换和显式转换),如下所示

1
2
3
4
5
6
7
8
public class Hello(){
public static void main(String[] args) {
int a ;
byte b;
int c = a + (int)b;
System.out.println("Hello Java" + c);
}
}

成员变量和局部变量

  • 成:声明在类中{}
  • 局:声明在方法体、参数表、代码块()

运算符

  • 算法运算符: /+-*/ %(取模取余)
  • 单目、双目运算符:看参与运算变量或数值的个数,结合使用时(就近原则)

==单目运算符++a a++ 自增和自减–a a–==

扩展赋值运算符:+=、-=、/=、%=、*=

1
a += 2; --> a = a + 2;其余同理

== 和 = 的区别: ==表示判断,=表示赋值

比较运算符: == != > < >= <= instanof

模式运算符:&–>and &&() ||() |() ^(异或)
==&–>and &&()–>&&一错不翻身 和||() |()区别 –> 与电路相似可联想记忆==

&位运算:0/1之间的运算 00->0 01>0 11>1;

|位运算:0/1之间的运算 00->0 01>0 11>1;

1 >> >>> <<


不借助中间变量进行变量的交换

1
2
3
4
(顶针法)
a = b;
b = c;
c = a;
1
2
3
4
(面积法)
a = a + b;
b = a - b;
a = a - b;
1
2
3
4
(位运算法)
a = a ^ b;
b = a ^ b;
a = a ^ b;
1
2
3
4
面积法(但不能交换a或b为0的时候)
a = a * b;
b = a / b;
a = a / b;

比较三个数之前的大小

1
2
3
4
int a = 9, b = 6, c = 3;
int max = a > b ? a:b;
max = max > c ? max : c;
int max = a; // 随便任何a,b赋值都行

控制流程:顺序、分支(选择–> if if ..else、switch..case(取值整形))、循坏流程–少时用swith..case,多时用if或者if..else

循坏流程

  • for(i = 0; a += 10;i++ )/while()/do..while()
  • do(可以先吃一顿霸王餐)
  • while(不能吃霸王餐)
  • 当初始条件成立时,do循环和while是一致 的,不成立时do先执行后判断,while先判断。

==求位数值公式:i%位数权重(100)%10==

break跳出循环,终止循环;continue继续下一次循环,跳出当次循坏”已循环”。

跳出前台for循环:break + 跳出编号


数组,数组下标从0开始

1
2
3
4
5
6
7
初始化数组-->赋值-->遍历
int[] = arrays; 声明数组变量
arrarys = new int[10]; 分配空间

合并为:
int[] arrays = new int[10];
第二步:遍历数组

二维数组

1
2
可以进行数组的分配,及数组中的数组,用嵌套for循环进行遍历
int[][] a = new int[2][];

编码代码的风格,缩进对齐,合理空格,命名规范


数据结构

数据类型使用时:一般使用大数据类型

数据结构:数据结构 + 算法 (这便是计算机语言)–>逻辑关系(线性、树形、图状、集合

排序算法:目的快速查找(空间复杂度、时间复杂度)

数组排序:Arrays工具类

1
Arrays.sort();

选择排序:交换

插入排序:打扑克

冒泡排序:大鱼落低


Java面向对象基础

对象:一切皆是对象(具体的个人)

类:物以类聚(具有共同特征的行为–>外观+行为),人以群分(抽象集合的数据结构)

  • 共有行为:成员行为
  • 共同属性:成员属性
1
Car c1 = new Car();

对象与类的区别:对象是建筑楼房,类是建筑楼房时的图纸

学习时的思维:类比、由简到难


------------------------------------本文结束感谢您的阅读--------------------------------
wangyekun wechat
扫一扫关注一波
坚持原创,您的支持将鼓励我继续创作!