JAVA入门知识的总结

1为什么学习java

 (1)最早的一批面向对象的语言;

 (2)Java是一门安全的,健壮的编程语言;

 (3)java有自己的内存管理机制(GC自动帮助我们回收内存);

 (4)java是一门编程语言,所以我们学习语言的时候,就是学习它的语法结构;

2配置环境变量

右击计算机进入高级系统设置在进入环境变量,如图:

 

 3java的基础语法

(1)注释;因该确保注释先行的原则;

注释分为多行注释://,单行注释/* */,和文本注释:/** */;

(2)标识符

标识符的三个原则:

以字母,下划线,美元符号开头,后跟字母,下划线,美元符号,和数字;

不能是java中的关键字;

严格区分大小写;

两个标准:

见名之意;

驼峰原则

    类:所以单词首字母大写;

变量:首字母小写,其余每个单词首字母大写;

常量:所有单词的首字母大写;

4关键字

java中已经规定用法的单词;

如:abstract,class,public等

5变量

在程序运行期间,值可以发生变化的容器;

变量就是一个容器,用来暂时存储数据;

6数据类型

java是一门强类型的语言,所以的变量和数据都具有类型;

主要分一下类型:

基本数据类型;整数型;浮点型,字符型,布尔型;

引用数据类型:类;接口;数组;

7类型转换

java中所有的数据类型是可以进行互相转换的;

基本数据类型之间的类型转换(布尔型)不参加类型转换;

引用数据类型之间的类型转换(重要);

基本数据类型和引用数据类型的转换;

(1)自动类型转换

小变大,自动转;

大类型=小类型;

(2)强制类型转换

大变小,需强转;强转有风险,转换需谨慎;

小类型=(小类型)大类型;’

8运算符

运算的符号就是运算符,常见的运算符:+,—,*、/等

(1)赋值运算符

int num = 20;

赋值运算符是整个java中优先级最低的,并且是唯一一个自右向左进行的运算的运算符

(2)算术运算符

+,-,*,\,%,++,--

注意:++i,--i:先自增,自减然后再运算。先保证i自增1,自减1,然后再计算表达式的值。表达式值等于num的值;

i++,i--:

先运算,再自增、自减, 先计算表达式的值,表达式值等于 num 的值,然后再 num 自增
1、自减1。

如果 ++ -- 是单独的一条语句时,此时前、后没有任何区别。

8扩展运算符

它是算数运算符+赋值运算符 | 位运算符+赋值运算符,如;i+=i;

9关系运算符

> ,< , <= ,>= ,== ,!=, instanceof

关系运算符最后的结果是一个boolean值

9逻辑运算符

逻辑运算符最后的结果是一个boolean值,并且左右两边的操作数也必须是boolean值
需要记忆的点
& && 两个操作数都为true,结果为true,其余都是false
| || 两个操作数都是false, 结果是false,其余都是true
^ 相同为false,不同为true;
! 取反
10条件运算符 、三目运算符
codition ? expression1 : expression2
先计算 codition 的结果,如果结果是 true ,则整个条件运算符的结果是 expression1
值,反之就是 expression2 的值。
11 位运算符
位运算符直接基于二进制进行运算的,一定程度而言它的运算效率高。
& : 同1为1 其他都为0
^ : 相同为0 不同为1
>> : 缩小倍数
<< : 扩大倍数
12运算符的优先级别
不要试图通过优先级控制自己的程序执行顺序。
有括号先算括号里面的
算数 > 关系 > 逻辑 > 条件 > 赋值|扩展
目数越多,优先级别越低
13流程控制
流程控制的分类:
顺序结构 (我们目前写的所有的代码都是顺序结构)
分支结构 选择结构 (执行过程中可能开辟其他的执行路径)
循环结构 (执行过程中的某些代码会往复执行)
jdk17之后对于switch的支持
switch (month) { // switch中的表达式的值类型只能是 char, byte, short, int jdk5之后支持enum jdk7之
后支持String
case 12, 1, 2 -> System.out.println("睡不醒的冬三月 [画外音] 你就像冬天里的一把火");
case 3, 4, 5 -> System.out.println("春困 [画外音] 春天在哪里呀~春天在哪里?");
case 6, 7, 8 -> System.out.println("夏打盹 [画外音] 夏天夏天悄悄过去 留下小秘密");
case 9, 10, 11 -> System.out.println("秋乏 [画外音] 就让秋风带走我的思念 带走我的爱");
default -> System.out.println("不好意思 你丫家里有" + month + "月份呀!**************");
}

14  一维数组
数组是相同类型数据的有序集合 。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合
而成。其中,每一个数据称作一个元素,每个元素可以通过一个索引 ( 下标 ) 来访问它们。
这些按序排列的同类数据元素的集合称为数组 []
特点:
定长
长度一旦确定不可以改变。
相同数据类型
其元素必须是 相同 类型 , 不允许出现混合类型。数组中的元素可以是任何数据类型,包括基本类型和引
用类型。
位置有序 元素所在的位置是有序的。
数组本身属于引用类型
数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身
就是对象 Java 中对象是在堆中的,因此数组无论保存基本类型还是其他对象类型,数组对象本身是在堆 中的。
数组中可以存储任意类型的数据
15数组定义

数据类型[] 数组名=new 数据类型[长度];

动态初始化
数组定义与为数组元素分配空间和赋值的操作分开进行
int[] data = new int[5];
静态初始化
在定义数组的同时就为数组元素分配空间并赋值
int[] arr=new int[]{1,3,4,6};
int[] arr2={1,2,3,4,5};

. 16 数组的默认值
数组中的元素只声明不赋值存在默认值 ,数组是引用类型,它的元素相当于类的成员变量,因此数组分
配空间后,每个元素也被按照成员变量的规则被隐式初始化。
一般规律为数值型数组默认值为 0 ,引用型数组默认值为 null
(1 )增强 for 循环
or(元素类型 局部变量 : 数组){
局部变量-->为数组中的每一个元素值,从左向右以此获取
}
//2.遍历数组---增强for循环
for(int i : arr){
System.out.println(i); //i中存储数组的元素值,非索引
}

17类与类之间的关系
类之间大体分为 6 种关系
在设计模式中类与类之间的关系主要有 6 种:依赖、关联、聚合、组合、继承,实现, 它们之间的耦合
度依次增加。
(1) 继承关系 (Inheritance)
继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加
它自己的新功能的能力。在 Java 中继承关系通过关键字 extends 明确标识
(2)实现关系
实现指的是一个 class 类实现 interface 接口(可以是多个)的功能,实现是类与接口之间最常见的关系。
Java 中此类关系通过关键字 implements 明确标识。
(3)
依赖关系 (Dependency)
简单的理解,依赖就是一个类 A 使用到了另一个类 B ,而这种使用关系是具有偶然性的、临时性的、非 常弱的,但是类B 的变化会影响到类 A 。比如某人要过河,需要借用一条船,此时人与船之间的系就是 依赖。表现在代码层面,为类B 作为参数被类 A 在某个 method 方法中使用。
18 构造方法 ( 构造器 constructor)
构造器也叫构造方法 (constructor) ,用于对象的初始化。构造器是一个创建对象时被自动调用的特殊方
法,目的是对象的初始化。构造器的名称应与类的名称一致。 Java 通过 new 关键字来调用构造器,从而
返回该类的实例,是一种特殊的方法。
构造器 4 个要点:
构造器的方法名必须和类名一致!
构造器虽然有返回值,但是不能定义返回类型 ( 返回值的类型肯定是本类 ) ,不能在构造器里调用
return
通过 new 关键字调用!!
如果我们没有定义构造器,则系统会自动定义一个无参的构造方法。如果已定义则编译器不会添加
无参数构造方法!
与普通方法一样,构造方法也可以重载
修饰符 final abstract static 不能用来修饰构造器
19重载
一个类中可以存在多个构造器
1. 方法重载 : 两同三不同 同一个类方法名相同,形参类型 个数 顺序不同
2. 构造器重载 : 只看形参即可 形参类型 个数 顺序不同。调用时按 就近最优原则
class Dog{
String color;
String name;
//空构造
Dog(){}
public Dog(String name,String color){
this.name=name;
this.color=color;
}
public static void main(String[ ] args) {
Dog d1 = new Dog();
Dog d2 = new Dog("二狗子", "白色");
Dog d3 = new Dog("三狗子", "土色");
}
}

20static 关键字
凡是静态的都是属于类的,与对象无关的,先于对象存在的。可用于修饰属性、方法、块。
在类中,用 static 声明的成员变量为静态成员变量 , 或者叫做: 类属性,类变量 .
它为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时被显式初始化,
对于该类的所有对象来说, static 成员变量只有一份。被该类的所有对象共享!!
可以使用 对象 . 类属性 来调用。不过,一般都是用 类名 . 类属性
static 变量置于方法区中!
static 声明的方法为静态方法
不需要对象,就可以调用 ( 类名 . 方法名 )
在调用该方法时,不会将对象的引用传递给它,所以在 static 方法中不可直接访问非 static 的成员。
但是可以通过对象使用。
静态方法不能以任何方式引用 this super 关键字
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值