JAVA语言入门详细知识点
//其中可能包含错误,如若发现可指出,以便修改文。
一.前言,入门,常量,变量
1. Java是高级语言
2. 1,0 bit 比特
1 Byte =8 bit
GB TB PB EB ZB
3. 10进制转化成2进制
4. 10进制转化成二进制 除二取余
5. 二进制转换成10进制 8421
6. 字节 计算机最小存储单位 8bit 一字节 byte B
7. DOS 早期操作系统
8. 命令:
盘: 盘符切换
dir 查看当前文件夹
cd 进入文件夹 cd 文件夹名称 cd 文件夹1\文件夹2\文件夹3
cd.. 退出文件夹
cd\ 退出到磁盘根目录
cls 清屏
exit 退出
9.JVM 虚拟机
10.跨平台 运行在所有操作系统上 不同版本JVM
11.JRE 运行环境 JVM + 运行时核心类
12.JDK 开发工具包
13.JDK安装 目录自定义 安装路径禁中文和空格
14.JAVA_HOME
1.系统变量-新建-JAVA_HOME-bin路径前的路径
2.系统变量-path-%JAVA_HOME%\bin
dos 输入Javac
15.javac 编译器 java解释器
16.javac HelloWorld.java 产生字节码文件
17.java HelloWorld 运行字节码文件
18. 编译 翻译成class文件
运行 运行class文件
19.//单行注释 /* */多行注释
20.关键字 定义好的单词 小写 public calss static void
21.标识符 自定义
22.命名 $ _ 禁关键字
23.类名大驼峰 方法名小驼峰 变量名小写
24. 字符常量''
字符串常量"" 可以为空
空常量 null 不能打印
25.基本数据类型 整数,浮点数,字符,布尔
引用数据类型 类,数组,接口,Lambda,字符串
26. byte -128 - 127
short -3万 - 3万
int -2的31次 - 2的31次
long -2的63次 - 2的63次 9后面跟着18个0多
char 0-6万
27.long L float F
28.数据范围与字节数无关,float 4个字节 long 8个字节 float数据范围比long广
二.数据类型转换,运算符,方法入门
1.int + byte 自动转换 取值范围小的类型 提升 为取值范围大的类型
2.byte,short,char -->int-->long-->float-->double
3.强制类型转换 取值范围大的类型 提升 为取值范围小的类型
4.数据类型 变量名 =(数据类型)被转数据值
5.int-->short 砍掉两字节 数据丢失
6.ASCII十进制
7.a++ ++a 独立运算一样
设a=1;
b=a++;先赋值再加 1
或
b=++a;先加再赋值 2
8.>= <= 等于在后面
9.&& 短路 左false右边不计算
10.三元运算符 数据类型 变量名 = 布尔表达式?结果1(true):结果2(false); 不能单独使用或常量
11.方法
修饰符 返回值类型 方法名(参数列表){
return ;
}
12:修饰符 public static
13:方法:类里方法外 一个类
14.s=s+1 两次运算 +=运算一次 强制转换
short s = 1;
s+=1;//s是2
15. byte+byte=int+int-->int
byte+short=int+int-->int
16.Unicode码表:0-127与ASCII一样,128开始更多字符
17.'0'-48 'A'-65 'a'-97
18.一旦运算当中有不同类型的数据,那么结果将会是数据类型范围大的那种。
19.++a<100 a的值不变
20.
对于byte/short/char三种类型来说,如果右侧赋值的数值没有超过范围,
那么javac编译器将会自动隐含地为我们补上一个(byte)(short)(char)。
byte num1 = /*(byte)*/ 30;
char zifu = /*(char)*/ 65; A
三.流程控制语句
1.
switch(表达式){
case 常量值1:
语句;
break;
default:
语句;
break;
}
表达式的类型 byte short int char enum
不写break会穿透不判断case直到遇到break;
2.continue结束本次循环开启下次循环
四.IDEA,方法
1.Project新建项目 Project>Module>Package
2.show in Explorer查看包的目录
3.src里建包(文件夹)
4.包里创class
5. .out class文件
6. .src java文件
7. .idea .iml IDEA自己使用
8.Ctrl+Y 删除所在行
9.Ctrl+Alt+L 格式化代码
10.Ctrl+Shift+/ 选中代码多行注释
11.Alt+Shift+上下箭头 移动本行代码
12.
File->setting->keymap->main menu->code 修改快捷键
remove 移除
Add Keyboard 修改快捷键
13.file-close project 不关闭IDEA而关闭项目
14.实参:传入的变量 形参:参数列表的
15.输出语句中可调用返回值不是void的方法
16.集成开发环境 提高效率
17.命名不规范才会出现绿色波浪线 不符合小驼峰要求
五.数组
1.数据类型[]数组名=new 数据类型[长度];
2.数据类型[]数组名=new 数据类型[长度]{元素1,元素2};
3.数据类型[]数组名={元素1,元素2};
4. 数组名.length 长度
5.内存 临时存储区域
6.
Java内存:
方法区 class文件
堆内存 存储对象或数组 new 有16进制的地址值
方法栈 方法运行时使用的内存 存放局部变量-超出作用域消失
本地方法栈:与操作系统有关
寄存器:与CPU有关
7. 静态初始化:内容
动态初始化:长度
8.动态初始化可拆 静态初始化不可拆成两步
9.
动态初始化默认值
整数 0
浮点 0.0
字符 \u0000
布尔 false
引用 null
10.数据类型[]数组A=数组B
11.所有引用类型可赋值为null,数组必须new才能使用元素
12.new过的数组可以再new 覆盖
六.类与对象,封装,构造方法
1.类的定义:
public class 类名{
}
2.成员变量:方法外
3.成员方法:没static
4.类名 对象名 = new 类名();
5.对象名.成员变量
6.封装:隐藏属性用get,set访问 private
7.private 最小权限
8.this 当前类的对象
9.构造方法 对象被创建,初始化对象
10.无参构造方法-操作set,get 布尔类型get变is
11. Student s1= new Student(); 无参构造函数 可以用set添加内容
Student s2 =new Student("赵丽颖",18) 有参构造函数
12.Arrays.toString(数组名)方法 格式[元素1, 元素2]
13.方法是一种封装 细节信息隐藏
七.Scanner类,Random类,ArrayList类
1.import 包名.类名
2.Scanner sc =new Scanner(System.in);
3. 匿名对象:没有变量名的对象 只能使用一次
new Scanner(System.in);
可以作为参数 实参:new Scanner(System.in);
形参:Scanner sc
返回值:new Scanner(System.in);
4. Random r =new Random(); 里面没有值
r.nextInt(10) 0-9之间的值
r.nextInt(10)+1 1-10之间的值
5.Student[] students = new Student[3] 学生数组 再创造学生对象
6.Element 元素
7. ArrayList<String> list =new ArrayList<>();
list.add("曹操"); 添加到尾部 返回布尔类型
public E remove(int index) 返回被删除的元素
public E get(int index) 返回获取的元素
public int size();
基本类型包装类:
Character
Integer
其他开头大写
打印array[2]得到地址值
返回值是ArrayList的命名
八:String类、static、Arrays类、Math类
1. 字符串值在创建后就不能改变 不然指向一个新的创建出来的字符串 因为变量保存的是地址值
String可以共享 内存中完全一样的String就是一个
String底层靠字符数组实现
2. equals
equalsIgnoreCase 比较相等 忽略大小写
length
concat 连接到字符串末尾
charAt 返回索引处的字符
indexOf 返回指定字符串第一次出现在字符串内的索引值
substring 从beginindex开始到字符串末尾/从[beginindex,endindex)
tocharArray 将字符串更换成字符数组 ('a','b','c') 数组
getBytes 将字符串更换成字节数组 (97,98,99) 数组
replace 第一次字符串用第二个字符串替代
split 分割 数组
concat 拼接字符
3.Object是一种引用类型 任意对象
4.创建数组
char[]charArray={'A','B','C'};
byte[]byteArray={97,98,99};
String str3=new String(charArray);
5."abc".equals(str5)推荐字符串在前面,不然空指针异常
5.对于引用类型来说,==是进行【地址值】的比较。
6.字符串常量池:程序当中直接写上的双引号字符串,就在字符串常量池中。
7.split .是"\\." 空格就是" "
8.static修饰变量属于该类每个对象 任何对象都可以改变变量值
9.static 数据类型 变量名
10.静态方法和成员方法都可以直接访问类变量或静态方法
11.静态方法不能直接访问普通成员变量或成员方法
12.类方法=静态方法:static 用类名来调用不需要创建类对象
13.static修饰的内容:只加载一次
14.
Array所有类都静态方法
.sort升序排序(字符,字符串也可)
15.Math类
abs 绝对值
ceil 大于等于
floor 小于等于
round 四舍五入
16.this代表当前对象
17.在IDEA需要偷懒
九.继承,super,this,抽象类
1.父类=超类=基类
2.父类非私有属性和方法 子类可以直接使用
3.extend继承
4.成员变量父类与子类重名,子类会先访问到子类成员变量,访问父类需要使用super
5.私有 private 使用get/set访问到
6.如果子类的成员方法与父类完全一致,就会覆盖重写
7.成员方法:没static,调用成员方法需要new对象
8.子类无法继承父类的构造方法。子类用super才能使用父类的构造方法。
9.Java支持单继承和多层继承
10.super和this不能同时出现
11.
抽象方法 必须在抽象类里面
修饰符 abstract 返回值类型 方法体(参数列表)
abstract class 类名字
抽象类可以有构造方法
12.方法是子类的优先于子类,没有再向上找
13.成员变量和局部变量名字相同,方法里优先使用局部变量
14.new的是子类对象优先使用子类方法。(父类子类重名方法)
15.@Override 检测是不是有效的覆盖重写
16.子类方法的权限必须大于父类方法
public>protected>(default)>private
留空什么都不写
17.子类的构造方法才能调用父类的构造方法。
18.子类的无参构造函数无法调用父类的有参构造函数
19.构造方法的作用是new对象时候的。
20.子类调用父类的构造方法,必须是第一个语句而且不能调用多次
21.this会是此类成员变量而不是最近的局部变量
22.抽象类不用实现接口所有方法,其余方法可以交给子类来完成
23.抽象类继承别的抽象类可以不实现抽象方法,也可以实现抽象方法
24.子类继承父类的有参构造 需要super()里面传入参数
25.super.方法名 调用父类的该方法
JAVA语言入门详细知识点相关推荐
- 视频专辑:JAVA语言入门视频教程
为什么80%的码农都做不了架构师?>>> 专辑:JAVA语言入门视频教程 简介:该视频专辑是java的入门教程,适合初学者学习java,讲的也非常容易懂,希望能给想学习java ...
- java 课件ppt_《java语言入门》PPT课件.ppt
<java语言入门>PPT课件.ppt Java 语言入门,第一章,目标,了解Java开发环境 JDK 掌握Java程序开发过程 能默写两个版本的"Hello World&quo ...
- Java语言入门(六)——面向对象(三)
Java语言入门 程序代码块 内部类(内置类) 继承(extends) super关键字 方法的改写 final关键字 对象转型 程序代码块 1 普通代码块(一般写在普通方法里) 2 构造代码块(直接 ...
- Java 基础-01 Java语言入门
文章目录 Java 基础-01 Java语言入门 1.计算机基本概念 1.1 计算机概述 1.2 计算机组成 1.3 CPU.内存与硬盘 2.软件基本概念 2.1 软件概述 2.2 人机交互方式 2. ...
- Java语言入门概述
一.Java语言入门 一)Java语言概述 1.计算机的发展,软件开发介绍 概述: 软件:即一系列按照特定的顺序组织的计算机数据和指令的集合.软件分为系统软件和应用软件. 系统软件:系统软件就是指控制 ...
- Java语言入门程序编写 - Hello world
Java语言入门程序编写 - Hello world 编写Java程序的前提一定要先搭建Java语言开发环境.可参考:Java语言开发环境搭建. 开发环境已经搭建完毕,可以开发我们第一个Java程序了 ...
- Java语言基础详细讲解
就像人与人之间交流使用的语言需要遵循一定的语法规则一样,Java语言也离不开特定语法的支持,如基本语法.数据类型.变量.常量.运算符与表达式.类型转换和输入输出等,只不过这些语法要比日常生活中语言的语 ...
- java语言入门(一)之JAVA语言基的概述
JVM与垃圾收集机制 Java语言的特点:跨平台性 原因:因为可以在每个不同平台下载jvm 核心机制-Java虚拟机 JVM是一个虚拟机的计算机,具有指令集并使用不同的储存区域.负责执行指令,管理数据 ...
- Java基础入门-详细总结
Java基础入门知识总结 一.java基础 1.1 java基础知识 1.2java的基本数据类型 1.3运算符 1.4循环结构 1.5数组 二.面向对象 2.1方法 2.2面向对象 2.3内存管理 ...
最新文章
- 如何替换 Ubuntu 11.10 登录屏幕背景和logo
- 学习spring之前必学之反射技术(IOC)(一)
- [原]FreeSWITCH uuid_transfer both转移失败(三方通话),如何解决?
- mysql多表查询插入更新_Mysql多表查询,多表插入和多表更新
- kubernetes(一)kubeadm搭建k8s集群
- java web程序 上机考试做一个登陆注册程序
- java 毕向东 内部类_java基础内部类(毕向东老师)
- Spring Boot休眠提示
- leetcode-110:判断平衡二叉树 Java
- Matlab 学习笔记
- Java的一些基础小知识之JVM与GC (转)
- 微信小程序nginx+uwsgi+django配置的域名问题
- matlab 200阶乘怎么表示,matlab阶乘怎么表示
- ant design pro 水印(删除、修改)
- Elsevier LaTeX 模板中参考文献没有序号,且文章引用不是序号引用
- Win11 安装 Linux 子系统
- 【OpenCV】 ⚠️实战⚠️ 女子深夜久久不能入眠,300行写出全能扫描王! ☢️建议手收藏☢️
- python eel + vue开发桌面应用
- 架构师接龙:腾讯高级工程师邝宇恒VS. 百度架构师侯震宇
- 在内嵌RAM中运行程序 No Algorithm found for 错误