Java-语言基础梳理
1.java命名规范
- 包名:全小写
- 类名,接口名:首字母大写
- 变量名,方法名:第一个单词皆字母小写,后面单词首字母大写
- 常量名:所有字母都大写
2.变量
2.1 注意事项
- 作用域:一对{}之间有用
- 必须初始化值
2.2 分类
- 基本数据类型:
- 数值型
- 整数类型:byte,short,int,long
- 浮点类型:float,double
- 字符型:char
- 布尔型:boolean
- 字符串:string
- 数值型
- 引用数据类型:
- 类:class
- 接口:interface
- 数组:[]1
3.运算符
- 算术运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 位运算符
- 三元运算符
4.程序流程
4.1 顺序结构
4.2 分支结构
if(){
}
else{
}
--------------------
if(){
}
else if(){
}
else{
}
---------------------
switch(){
case 常量1:语句1;break;
case 常量2:语句1;break;
default:语句1;break;
}
4.3 循环结构
for(int i=1;i<=100;i++){
System.out.println(i);
}
---------------------
while(i<=100){
result=result+i;
i++;
}
---------------------
嵌套循环
4.4 特殊流程控制语句
break语句用于终止某个语句块的执行,终止本层循环,只能用于switch和循环语句中
---------------------
continue对当前所在循环起作用,终止本次循环,本次循环下面代码不执行,只能用于循环语句中
---------------------
return结束一个方法,不用管循环层数
---------------------
5.数组
5.1 一维数组
//int[] a与int a[]相同
动态初始化:
int[] arr=new int[2];
arr[0]=1;
arr[1]=2;
---------------------
静态初始化:
int a[]=new int[]{3,9,8}
int[] a={3,9,8}
5.2 多维数组
//int[][] a与int[] a[]与int a[][]相同
动态初始化1
int[][] arr=new int[3][2]
arr[0][1]=21;
....
---------------------
动态初始化2
int[][] arr=new int[3][]
可用
arr[0]=new int[3]
arr[0][1]=21
或者
arr[0][]=new int[]{3,9,8}
----------------------
静态初始化
int[][] arr=new int[][]{{3,8,2},{2,7},{9,0,1,6}}
6.面向对象
- 类和对象
- 属性
- 方法
- 对象创建和使用
- 再谈方法
- 封装和隐藏
- 构造器
- super
- this
- package
- import
6.1 继承(extends)
- 方法的重写
- 四种权限修饰符
- 关键字super
- 子类对象实例化
- java不支持多重继承,我们一般使用接口来做到
6.2.多态
- 向上转型:子类可以看做是特殊的父类,所以父类类型的引用可以指向子类的对象
- Person p=new Person()
- Person e=new student()
- 不可使用子类属性,属性在编译时为父类Person,没有成员变量
- e.showInfo() //虚拟方法调用,运行时确定,我们使用的是Student的
6.2 成员方法
- 成员方法的多态性,也就是动态绑定,必须存在于方法的重写之上
- 编译时:要查看引用变量所属的类中是否有所调用的方法
- 运行时:调用实际对象所属的类中的重写方法
6.3 object类,包装类
public class Test{
public void test(Object obj){
}
public static void main(String[] args){
Test t=new Test();
Person p=new Person();
Student s=new Student();
t.test(p);
t.test(s);
t.test(new Kk());
Person e=new Person();
e=p;
System.out.println(p.equal(e));
}
}
6.4 对象类型转换
- 基本类型强制转换
- 向上转型与向下转型
6.5 ==与equals()
- 对于对象来说,特殊的类,如String,File,Date使用==比较的是对象(对象的地址)
- equals比较的内容,除了特殊的类之外的其他普通的类的对象,==和equals比较的都是对象(对象的内存地址),如果你想改变一个类的equals,不想用equals来比较对象的内存地址,就需要重写equals方法
6.6 包装类
- 作用:方便字符串与基本数据类型之间的转换
6.7 tostring()
- 作用:方便类属性的输出,可以重写
6.8 static
- 作用:静态变量与静态方法
6.9 抽象类abstract
- 抽象方法没有方法体
- 抽象类不能实例化,可以有构造方法,只是无法实现
- 拥有抽象方法的是抽象类
- 抽象类一般作为父类
- 可以嵌套抽象类,即抽象类可以继承抽象类
Java-语言基础梳理的更多相关文章
- Java学习总结(二)----Java语言基础
1. Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,i ...
- java语言基础02
一.Java语言基础(常量的概述和使用)(掌握) 1:什么是常量 就是在程序的执行过程中其值不发生改变的量. 2:Java中常量的分类 (1):字面值常量 (2):自定义常量(面向对象部分讲解) 3: ...
- Java之--Java语言基础组成—数组
Java语言基础组成-数组 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的数组,数组 ...
- Java之--Java语言基础组成—函数
Java语言基础组成-函数 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的函数,函数 ...
- Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)
Java语言基础组成-关键字.标识符.注释.常量和变量.运算符 Java语言由8个模块构成,分别为:1.关键字:2.标识符(包名.类名.接口名.常量名.变量名等):3.注释:4.常量和变量:5.运算符 ...
- Java语言基础(二) Java关键字
Java语言基础(二) Java关键字 Java关键字比较多,我就不列举出来了,只记录一些常用的小知识点: ①Java的关键字只有小写. ②then.sizeof都不是Java的关键字,熟悉C++的程 ...
- Java语言基础(九)
Java语言基础(九) 一.自增运算(++) 自减运算(--) i++ 就是将i+1再赋给 i i-- 是将i-1再赋给 i 对变量i,j来说,i++ 或++i 这里没什么区别,都是将i的值加1后,再 ...
- Java语言基础(八)
Java语言基础(八) 一.数学运算 + - * / % (1)凡是byte short char类型都按int类型的计算 看看上面的代码,为什么出错! 我已经将100转成byte类型,( ...
- Java语言基础(七)
Java语言基础(七) 今天在公司多呆了会,回来晚了 一.自动类型转换 在Java中,数据是可以转换的 例如可以将byte类型的赋给int类型的 这里希望你了解内存的变化,例如 在这里,我想你应该知 ...
- Java语言基础(六)
Java语言基础(六) 前一章提到的, BigDecimal, DecimalFormat等具体用法,这里就不在说了,网上有许多 一.下面让我们看一个例子(自由落体运动位移) 说明: (1).公式是 ...
随机推荐
- Redis系列(六):设置/移除键的过期时间
本篇博客是Redis系列的第6篇,主要讲解以下内容: 数据库数量 切换目标数据库 设置键的过期时间 移除键的过期时间 本系列的前5篇可以点击以下链接查看: Redis系列(一):Redis简介及环境安 ...
- SSM整合案例:图书管理系统
目录 SSM整合案例:图书管理系统 1.搭建数据库环境 2.基本环境搭建 2.1.新建一个Maven项目,起名为:ssmbuild,添加web的支持 2.2.导入pom的相关依赖 2.3.Maven静 ...
- java23种设计模式——泡MM版
一.创建型模式 1.FACTORY:追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,固然口味有所不同,但不管你带MM往麦当劳或肯德基,只管向服务员说;来四个鸡翅就行了.麦当劳和肯德 ...
- Spring Boot在Controllder中常用注解
1.@RestController @RestController 相当于@Controller+@ResponseBody 注解如果使用@RestController 注解Controller 中的 ...
- Java创建对象的六种方法-权当记录一下
1 简介 Java是面向对象的编程语言,只要使用它,就需要创建对象.Java创建对象有六种方法,实际常用的不会这么多,这里权当是记录一下. 2 六种方法 (1)使用new关键字 Pumpkin p1 ...
- boost在Qt中的使用
一.说明 理论上,Qt和boost是同等级别的C++库,如果使用Qt,一般不会需要再用boost,但是偶尔也会有特殊情况,比如,第三方库依赖等等.本文主要介绍boost在windows Qt(MinG ...
- Spring 循环引用(三)源码深入分析版
@ 目录 前言 正文 分析 doGetBean 为什么Prototype不可以 createBean doCreateBean getEarlyBeanReference getSingleton b ...
- python3语法学习第四天--序列
序列是Python中最基本的数据结构. 序列中的每个元素都分配一个索引从0开始依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列可以的操作:索引,切片,加,乘,检查成员. 此 ...
- [hdu5226]组合数求和取模(Lucas定理)
题意:给一个矩阵a,a[i][j] = C[i][j](i>=j) or 0(i < j),求(x1,y1),(x2,y2)这个子矩阵里面的所有数的和. 思路:首先问题可以转化为求(0,0 ...
- neo4j 图数据库安装及介绍
neo4j 图数据库安装及介绍 一.neo4j图数据库介绍 图数据库,顾名思义就是利用了"图的数据结构来作为数据存储逻辑体现的一种数据库",所以要想学好图数据库当然需要了解一些关于 ...