[后端基础]Java基础入门(一)

目录

介绍

数据类型

基本数据类型:

引用数据类型

类型转换

变量和常量

常量:

变量:

标识符

运算符

修饰符

分支语句

if-else:

switch:

循环语句:

while循环:

for循环:

增强for循环(foreach):

do-while循环:

数组

类,对象,方法

构造方法

成员和局部

重载

重写

封装

继承

static关键字

final关键字

super,this关键字

Java注释


介绍

Java是半编译半解释性语言,是一门面向对象的编程语言。它将.java的源程序文件编译成拓展名为.class的字节码文件,字节码文件可以在任何一台装有JVM虚拟机的操作系统上运行,从而达到“一次编译,随处运行”的目的。Java三大特征:封装,继承,多态。

jvm:Java虚拟机;jre:java运行环境;jdk:java开发工具

下载相关软件,配置环境变量后即可进行java程序的运行使用(jdk,idea)
 

数据类型

java数据类型分为两类:

基本数据类型:

整型数据范围占用内存的字节
byte-128~1271字节
short-32768~327672字节
int【Java中默认的整型的数据类型】-2^31~2^31-14字节
long-2^63~2^63-18字节

 声明long数据的时候,后面需要加L或者l  (一般加大写L);

数据类型数据范围占用的字节数
float-3.4* 10^38~ 3.4*10^384字节
double(Java默认的是double类型的数据)-1.79*10^308 ~ 1.79 * 10^3088字节

1.声明float类型的数据的时候加f或者F;
2.double类型的数据的有效位数 15~16;
3.float类型的数据有效位数是 6~7;

数据类型数据范围占用的字节数
char除了\ 都可以当成一个字符2字节

数据类型数据范围占用字节数
booleantrue或者false1字节

引用数据类型

类、接口、数组

类型转换

  • 隐式转换 

            

 例子:

  • 显式转换(强制类型转换)

在数据前加上要强制转换的类型,例子:

变量和常量

常量:

由final修饰的变量: final 数据类型 变量名=数据;

常量在定义时就必须赋值,且不能更改

变量:

  • 变量的定义声明:数据类型 变量名;
  • 变量的赋值:变量名 = 数据;

变量的定义和赋值可以连在一起写:数据类型 变量名= 数据;变量在使用之前必须赋值,变量名不能重复。

标识符

定义:用来给类、变量、方法、接口、对象、自定义数据类型命名的标识,称作标识符

        规则:  

                1、所有标识符都应以字母(A-Z 或 a-z)、下划线(_)、美元符($)开始,即首字符

                2、首字符之后可以是字母、美元符、下划线、数字的任何组合

                3、数字不能为首字符

                4、关键字不能用作标识符,标识符对大小写敏感

                5、标识符对大小写敏感(即name 和 Name 是两个不同的标识符)

                6、标识符之间不能有空格

运算符

算术运算符:+、-、*、/、%(取余)、++、--;

关系运算符:==、!=、>、<、>=、<=;

逻辑运算符:&&、||、!;

赋值运算符:=、+=、-=、*=、/=;

    a+=b<==>a=a+b,其他同理 

条件运算符:表达式X? a : b;(三元运算符)

表达式X为真,则值为a,为假值为b
 

修饰符

权限修饰符:public,private,protected,默认

Publicprotected(default)private
同一个类
同一个包×
不同包,但父子关系××
不同包,非父子关系×××

其他修饰符:final,static,abstract......

分支语句

if-else:

语法:if(判断语句){ }else{ },多重if-else语句:if(判断语句1){ }else-if(判断语句2){ }else{ }

switch:

语法:switch( ){ case 值1:{ } case 值2:{ } default { } }

break:结束循环

continue:结束当前一次循环,进行下一次

break,continue,return的区别及作用

break语句通常用于循环或switch语句中,其主要作用是立即终止当前的循环或switch语句,跳出这些结构;continue语句主要用于循环中,它的作用是跳过本次循环的剩余部分,直接进入下一次循环;eturn语句主要用于函数中,它的作用是立即结束函数的执行,并从函数被调用的位置继续执行程序。

循环语句:

while循环:

while(循环条件){ 循环体 }

for循环:

for(int i=0;循环条件;i++){ 循环体 }

增强for循环(foreach):

for(数据类型 对象名 in 数组/集合 ){ } 原理:迭代器

do-while循环:

do{ 循环体 }while(循环条件);

数组

存储同种数据类型的容器,可以隐式转换的类型也可以,例:double数组可以存放int数据

定义数组:数据类型[ ] 数组名 或 数据类型 数组名[ ]

静态初始化:

数据类型[ ] 数组名 = new 数据类型[]{数组元素1,数组元素2,数组元素3}

简化:数据类型[ ] 数组名 ={数组元素1,数组元素2,数组元素3}

动态初始化:

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

数组索引从0开始,长度为5的数组的索引是0,1,2,3,4

数组可以通过索引查找数组元素,数组名代表数组地址

类,对象,方法

类是对象共同特征的描述

对象是真实存在的具体东西

方法是程序中最小的执行单元,方法可以提高代码的复用性和可维护性

描述一类事物的类叫做java bean类,是不写main方法的

instanceof

判断左边的对象是否是它右边的类的实例,返回 boolean 的数据类型。

使用方式:b instanceof Object

构造方法

方法名和类名相同的方法,构造方法没有返回值,用来构造对象

成员和局部

成员变量和成员方法:定义在类里的变量、方法

局部变量和局部方法:定义在方法里的变量、方法,

 成员变量有默认值,局部变量必须初始化

重载

同一个类中,多个方法的方法名相同,参数不同(个数、数据类型)的方法,与返回值无关

参数顺序不同可以构成重载,但不建议

重写

子类继承父类,可能重写父类方法,要求方法名相同,参数相同,返回类型是父类返回类型或子类,修饰符限制不能严于父类。重写不能改变静态/非静态属性,但可以定义一个与父类同名的静态方法,以便隐藏父类的静态方法

重载与重写的区别:

1.重载实现的是编译时的多态性,而重写实现的是运行时的多态性。2.重载方法的返回类型可以修改,而重写方法不能。3.重载方法的异常可以修改,重写方法的异常可以减少或删除,一定不能抛出新的或者更广的异常。4.重载方法的权限修饰符可以修改,而重写方法的权限修饰符一定不能做更严格的限制。5.重载发生在一个类中,同名的方法的参数列表要不同;而重写发生在子类与父类之间,重写方法的参数列表要相同。

封装

Java三大特性之一

正确设计对象的属性和方法

原则:对象代表什么,就封装对应的数据,提供对应的方法

好处:面向对象思想

private关键字:可以修饰成员变量和成员方法,被修饰的成员只能在本类中才能访问

想要操作可以通过get/set方法

继承

Java三大特性之一,继承关键字:extends

java是单继承和多重继承,一个子类只能有一个父类,可以有多个祖先,每个类都直接或间接继承Object类

好处:将子类重复代码抽取到父类,提高代码复用性,减少代码冗余

继承后子类得到父类的属性和方法(可以得到成员变量和公有的方法,得不到构造方法和私有方法)

子类可以访问非私有成员,私有成员变量可继承但不能访问

static关键字

类修饰符,可修饰变量,方法,代码块。修饰后随类加载而执行

使用:类名.变量名,类名.方法名

静态代码块只会在类加载的时候执行一次。

final关键字

可修饰变量、方法、类

  • 修饰变量:变为常量,不能被修改
  • 修饰方法:不能被重写
  • 修饰类:不能被继承

super,this关键字

this:哪个对象调用就是那个对象的类型,可以访问属性,方法,调用本类的构造方法时必须在第一行

super:代表父类对象,super只能在子类方法中,子类的构造方法默认调用父类的无参构造,调用父类构造方法时必须在第一行

Java注释

  • 单行注释 //
  • 多行注释/* */
  • 文本注释/** */

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值