蓝旭第一次培训

本文介绍了Java的基础语法,包括Scanner类的使用、输入输出操作、数组的声明与操作(包括数组拷贝、排序和遍历),以及面向对象编程的三大特性:封装、继承和多态。
摘要由CSDN通过智能技术生成

Java基础语法

1.1Java的输入与输出

输入与输出

读取输入

Scanner类在 java.util 包中有定义,因此需要先进行导入:import java.util.Scanner;

  • 声明输入对象:Scanner in = new Scanner(System.in)

输入读取方法

  • in.nextline():读取一行输入
  • in.next():读取一个单词(以空白符作为分界)
  • in.nextInt():读入一个整数
  • in.nextDouble():读入一个浮点数

格式化输出

直接调用System.out.print()就可以输出数字、字符串

格式化输出方式与 C 一致:System.out.print(“%s,%s!”,a,b)


1.2Java中的数组

声明数组方式

  • int[] a,b;
  • int a[],b[];
  • int[] a[],b;
数组初始化
  • int[] a = new int[100];
  • var a = new int[100];
  • int[] a = {1,2,3}
  • int[] a = {1,2,3,}:允许结尾逗号,与上式的效果一致

创建数字数组时,所有值初始化为 0;boolean 数组初始化为 false;对象数组初始化为 null

数组长度不要求是常量,但一旦创建了数组,就不能再改变它的长度。如果需要改变数组的长度,应使用数组列表

匿名数组
  • new int[] {1,2,3}:通常用于赋值

访问数组元素

我们可以通过索引访问数组元素:a[0]

可以通过a.length()方法获得数组的元素个数来遍历数组:for(int i=0;i<a.length();i++),但更好的方法是使用for each循环实现遍历

数组拷贝

Java 中的数组类似于 Python 中的变量,存在数组变量、数组、引用的概念

  • 直接复制int[] b = a,此时如果改变b[0]的值,那么a[0]的值也会随之变化,因为a,b引用了同一个数组
  • 深层复制int[] b = Arrays.copyOf(a,a.length)
    • 这里的第二个参数是新数组的大小,通常用这个方法改变数组的大小,变长对新增数值进行初始化,变短对原数组进行截断

数组常用操作

  • Arrays.sort(a):对数组 a 进行快速排序
  • Arrays.fill(a,v):将数组 a 的所有元素值设为 v
  • Arrays.equals(a,b):如果 a,b 完全一致则返回 true

多维数组

Java 的多维数组实现类似于 Python 嵌套列表或 C 的指针数组

多维数组与一维数组主要操作一致,下面指出几个不同点:

  • 声明和初始化int[][] a = new int[3][3];
  • 赋值a = {{1,2,3},{1,2,3}};
不规则性:由于 Java 的多维数组采用引用的方式构建,因而一个二维数组中的每一个一位数组都可以完全不同

Java中的分支

与C语言中的分支用法相同,差异点在if()中的数据是boolean型

Java中的循环

while(condition) statement与 C 相同

do statement while(condition);与 C 相同

for(init;compare;update) statement与 C 相同

foreach循环类似python

面向对象

2.1面向对象介绍

个人理解:使用能进行某个行为的特定对象

面向对象的三大特性是封装、继承和多态。

2.2封装

概念:

  将一些属性和相关方法封装在一个对象中,对外隐藏内部具体实现细节。

  内部实现,外界不需要关心,外界只需要根据”内部提供的接口“去使用就可以。

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

原则:对象代表什么,就得封装对应的数据并提供数据对应的行为

private关键字:只能在本类中使用;public:公共的(都是修饰符)

2.3继承

 继承是类与类的关系

        其本质是对某一批类的抽象,从而实现对现实世界更好的建模,用关键字extends实现关系的确认,如public class son extends father{}实现创建一个father子类的son类。father中的数据与方法(被封装的变量数据除外)子类son将完全共享并且son的值与father的值为共生关系。 this与super this调用的是子类存储的变量(即成员变量)与方法,super则是调用父类中存储的变量与方法,若是不加此二者为前缀,则优先调用当前方法中被定义的方法与被赋值的赋值的变量(即局部变量)。

复数继承

        Java不支持多继承即同一个类继承多个父类,但支持多个子类同时继承同一个父类,或是多重继承即存在二代及以上的继承。

2.4多态

概念:

  一个类,所延伸的多种形态;

  调用时的多种形态:在继承的前提下;使用不同的子类,调用父类的同一个方法,产生不同的功能

  • 36
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值