JAVA基础上篇

1. java基本特性

1.1 java语言平台版本

J2SE(Java 2 Platform Standard Edition)标准版
是为开发普通桌面和商务应用程序提供的解决方案,该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发。
J2ME(Java 2 Platform Micro Edition)小型版
是为开发移动设备和嵌入式设备(电器、机器人、机顶盒…)提供的解决方案。
J2EE(Java 2 Platform Enterprise Edition)企业版
是为开发企业环境下的应用程序提供的一套解决方案,该技术体系中包含的技术如 Servlet、Jsp等,主要针对于Web应用程序开发。

1.2 java语言特点

简单性 高性能 编译性 解释性 面向对象 分布式处理 健壮性 安全性
开源 跨平台
什么是跨平台性br> 通过Java语言编写的应用程序在不同的系统平台上都可以运行。
原理是什么br> 只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。
因为有了JVM,所以同一个Java程序在三个不同的操作系统中都可以执行。这样就实现了Java程序的跨平台性。也称为Java具有良好的可移植性。

1.3 jdk

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心。
它包含了:
1、 JAVA开发工具(jdkbin)
2、 基础开发库(jdkjrelibrt.jar)
3、 基础开发库的源码(jdksrc.zip)

1.4 运行 于工作原理

2. 数据类型+运算符

2.1 标识符

可以简单的理解为一个名字。在Java中,我们需要标识代码的很多元素,包括类名、方法、字段、变量、包名等。我们选择的名称就称为标识符,并且遵循以下规则:
A. 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符。
B. 不能以数字开头。
C. 标识符是严格区分大小写的。
D. 标识符的命名最好能反映出其作用,做到见名知意。

2.2 关键字

在java语言中已经被赋予特定意义的一些单词一共有53个关键字。其中有两个保留字:const和goto。关键字不能被用作标识符

public static void main(String[] args) {
System.out.println(“姓名:”);
String name= new Scanner(System.in).nextLine();

2.3.1 整数字面值是int类型

int a = 999999999;//错,右侧是int类型,但是超出范围

2.3.2 byte,short,char三种比int小的整数可以用范围内的值直接赋值

byte b=127;//对
byte b=128;//错,右面已经超过byte范围是int类型的数据

2.3.3 浮点数的字面值是double类型

double a=3.14;//对
float a=3.14;//错,右面是double,float是四字节double是八字节存不下

2.3.4 字面值后缀l f d

L –long 如:long a = 99999999999;//错,超出范围,解决方案加L
F –float 如:float a = 3.14;//错,右面是double类型,解决方案加F
D –double 如:double a=3;//错,右面是int,解决方案加D或者改成3.0

2.3.5 进制前缀

0x – 16进制
0 -8进制
u -char类型,16进制

2.4 基本类型的数据转换

2.4.1 小到大(隐式转换)

Byte a=120;
int b=a;//直接转

3.1.1 练习平年闰年

3.1.2自增自减

3.2 分支结构

switch(变量或者表达式){
case 1:
case 2:
case 3:
case 4:
default:
}

3.3 循环语句

for循环 从1打印到10

3.4 &和&&的区别 a=a+4和a+=4的区别

当一个&表达式在求值的时候,两个操作数都会被求值,&&更像 是一个操作符的快捷方式。当一个&&表达式求值的时候,先计算第一个操作数,如果它返回true才会计算第二个操作数。如果第一个操作数 取值为fale,第二个操作数就不会被求值

// a=(byte) (a+4);//右侧int,左侧byte,大转小,强转。
// a=(byte) (a+4);//右侧int,左侧byte,大转小,强转。
a+=4;//会自动完成数据类型的转换
//注意:a=a+4和a+=4是有区别的!!
System.out.println(a);

4 循环+数组

4.1嵌套for循环

4.2 break和continue

用来终止循环
break:中断当前循环 简单粗暴
continue:跳出本次循环 进入下一轮

4.3 while 和do while循环

while 先判断再执行
do while 先执行 再判断 所以至少执行一次

4.4 变量

4.4.1 概念

可以改变的数,称为变量。一般通过三部分来描述一个变量。变量类型,变量名,变量值。其中三部分都是可以改变的,根据需要来确定即可。
变量的使用原则:就近原则。尽量控制到最小范围。。

4.4.2 局部变量

定义在方法里,或者局部代码块中。
注意:必须手动初始化,来分配内存。如:int i=5;
作用域也就是方法里或者局部代码块里,方法运行完内存就释放了。

4.4.3 成员变量

定义在类里。
注意:不用初始化,也会自动被初始化成默认值。
作用域是整个类中,类消失了,变量才释放。

JAVA基础上篇

4.5 拓展

4.5.1 三种循环的区别

三种循环都可以互相代替
1、 for:知道循环次数
2、 while/do while:当循环次数不确定时
3、 while:先判断,不符合规则,不执行代码
4、 do while:代码最少被执行一次,再去判断,符合规则,再次执行代码

5 数组+变量

5.1 方法

5.1.1 概述

被命名的代码块,方法可以含参数可以不含参数
可以提高代码的复用性

5.1.2 形式

修饰符 返回值 方法名(【参数】){
方法体;
}

5.1.3 方法的重载

方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数列表(也就是说参数的个数和类型不同)
程序调用方法时,可以通过传递给他们的不同个数和类型来决定具体使用那个方法

5.2 数组

5.2.1 概念

数组Array是用于储存多个相同类型的数据
想要获得数组中的元素值 可以通过元素的下标来获取 下标是从0开始的

5.2.2 创建数组

一般分为动态初始化和静态初始化
动态初始化 : int[] a=new int[5];
静态初始化1: int[]a={1,2,3,4,5};
静态初始化2: int[]a=new int[]{1,2,3,4,5};

5.2.3 数组的长度

length属性获取数组长度
数组一旦创建长度不可变
允许0长度的数组

5.3 数组的遍历

从头到尾 依次访问数组的位置
形式
for(int i=0:i syso(a[i]);
}

5.4 数组工具类Arrays

1.Arrays.toString(数组)
把数组里面的数据,用逗 连接成一个字符串
格式:[10,14,20,46,51]

2.Arrays.sort(数组)
对数组排序,对于基本类型的数组使用优化后的快速排序算法,效率高。
对引用类型数组,使用优化后的合并排序算法。

3.Arrays.copyOf(数组,新的长度)
把数组复制成一个指定长度的新数组。
新数组长度大于原数组,相当于复制,并增加位置。–数组的扩容
新数组长度小于原数组,相当于截取前一部分数据。–数组的缩容

5.5 拓展

冒泡排序

6 面向对象

6.1 面向对象

6.1.1 概念

所谓的面向对象是一种编程思想,通过这种思想可以把生活中的复杂事情变得简单化,从原来的执行者变成指挥者,面向对象是基于面向过程而言的。我们经常说的面向对象的编程实现(OOP,Object Oriented Programming)
l 面向过程强调的是过程,例如:
1、打开冰箱 2、把大象放进去 3、关上冰箱
l 面向对象强调结果,例如:
1、 饿了,去平台点餐,这个动作就是面向对象。你没有去市场买菜洗菜做饭。。。只要有app就可以了。
2、 衣服脏了,直接甩给女票去处理等着穿干净的就可以了。你没有关注中间的过程。。只要找好对象就可以了。
3、面试官问什么是面向对象答万物皆对象!!不建议因为你还没到这个深度,最好举例。就像是,你说空即是色色即是空—信你个鬼。

6.1.2 三大特征

1.封装性.把相关的数据封装成一个 类 组件
2.继承

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年8月26日
下一篇 2020年8月26日

相关推荐