Java基础语法闪过——纯小白
Java语法突击
笔者因为学校奇葩选课原因,需要学习Java,考试所迫和大伙一起交流复习下基础的语法内容,大家都一把拿下考试
观前提醒:本文整理的有些仓促了,简单几分钟看看Java有什么内容还好,如果有细致学习的需求推荐看一下廖雪峰的Java教程,跟着敲一敲代码,把基础打牢。
Java基本语法
程序结构
编写第一个Java程序 Hello_world
// 这里是注释
// 类是一个程序的基本单位,此处类名为Hello_world
public class Hello_world {
// 此处为类中的main方法
public static void main(String[] args) {
// java的打印函数
System.out.println("Hello, world!");
}
}
保存代码文件为hello_world.java
编译:javac hello_world.java
运行:java hello_world.java
数据类型
Java的数据类型和C/C++没有很大出入:
- 整数类型:byte,short,int,long
- 浮点数类型:float,double
- 字符类型:char
- 布尔类型:boolean
public static void main(String[] args) {
int a = 10;
// float类型需要加上f后缀,不加后缀的为double类型,不能赋给float。
float b = 3.14f;
char c = 'm';
boolean d = true;
变量和常量
常量
定义的变量前面加上final关键词,这个变量就变成了常量。
如:final double PI = 3.14;
为了便于区分,常量名通常全部大写。
var关键字
java编译器可以根据赋值语句自动推测出变量类型,使用var可以简化我们的代码,如var a = 100
运算符
这部分的内容和C/C++基本一致,包括运算顺序、自增自减、移位运算、位运算(与/或)、类型转换操作,不再赘述。
流程控制
输入和输出
java的输入和C语言基本相同,通过System.out.printf()可以实现占位格式化输出。
Java的输入要复杂一些,下面来看一个读取一个字符串和一个整形输入的代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); // 创建Scanner对象
System.out.print("Input your name: "); // 打印提示
String name = scanner.nextLine(); // 读取一行输入并获取字符串
System.out.print("Input your age: "); // 打印提示
int age = scanner.nextInt(); // 读取一行输入并获取整数
System.out.printf("Hi, %s, you are %d\n", name, age); // 格式化输出
}
}
首先我们需要import导入Scanner包,
然后创建scanner对象,
最后调用scanner.nextLine()来实现读取命令行输入的信息。
if、switch、while、for
使用方式和C中一致,不再赘述。
数组
定义数组int[] nums = new int[5]
获取数组大小nums.length
Java中的数组一旦创建后大小就不可改变了,数组本身是引用类型。
下面列举一些常用的数组操作:
// 打印数组(除了for循环java中还有更方便的方式)
System.out.println(Arrays.toString(ns));
// 打印多维数组(除了多层循环)
System.out.println(Arrays.deepToString(ns));
// 数组排序
Arrays.sort(ns);
面向对象技术基础
如果大家之前接触过面向对象的高级语言,那么应该对面向对象的基础已经很熟悉了,这里简要概括几笔。
继承、抽象类和接口
// Student继承Person类,重写抽象类
class Student extends Person {
@override
public void run() {
System.out.println("run");
}
}
// java抽象类
abstract class Person {
public abstract void run();
}
// 接口定义
interface Person {
public abstract void run();
}
// 接口继承
class Student implements Person {
@override
public void run() {
System.out.println("run");
}
}
java使用extends来实现继承
接口interface是更抽象的抽象类,类中没有字段,只有抽象方法。接口定义使用interface关键字,接口继承使用implement关键字
io
异常处理
Java内置了一套异常处理机制,使用try...catch语句
public static void main(String[] args) {
try {
process1();
process2();
process3();
} catch (UnsupportedEncodingException e) {
System.out.println("Bad encoding");
} catch (IOException e) {
System.out.println("IO error");
} finally {
System.out.println("END");
}
}
多线程
Java创建多线程直接new就行了
// 多线程
public class Main {
public static void main(String[] args) {
Thread t = new Thread(new MyRunnable());
t.start(); // 启动新线程
}
}
class MyRunnable implements Runnable {
@Override
public void run() {
System.out.println("start new thread!");
}
}
Java基础语法闪过——纯小白的更多相关文章
- Java匹马行天下之JavaSE核心技术——Java基础语法
Java基础语法 一. 认识Java 1. Java 简介 java 是一种高级的面向对象的程序设计语言,使用Java语言编写的程序时跨平台的.从pc到手机,都有Java开发的程序和游戏,Java ...
- Java基础语法(2)-变量
title: Java基础语法(2)-变量 blog: CSDN data: Java学习路线及视频 1.什么是变量? 变量的概念 内存中的一个存储区域 该区域的数据可以在同一类型范围内不断变化 变量 ...
- Java基础语法(4)-流程控制
title: Java基础语法(4)-流程控制 blog: CSDN data: Java学习路线及视频 1.程序流程控制 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定 ...
- Java基础语法(5)-特殊流程控制语句
title: Java基础语法(5)-特殊流程控制语句 blog: CSDN data: Java学习路线及视频 1.嵌套循环结构 将一个循环放在另一个循环体内,就形成了嵌套循环.其中,for ,wh ...
- java面向对象编程——第二章 java基础语法
第二章 java基础语法 1. java关键字 abstract boolean break byte case catch char class const continue default do ...
- Java基础语法(下篇)
Java基础语法(下篇) 内容概要: (1)函数的定义 (2)函数的特点 (3)函数的应用 (4)函数的重载 ...
- Java基础语法(上篇)
Java基础语法(上篇) 知识概要: (1)关键字的表示与规范 (2)标示符 (3)注释 (4 ...
- java——基础语法
java基础语法 1.关键字:java赋予特殊含义的单词. 2.标识符:程序中开发人员自定义的名词,例如:类名,函数名,变量名(注意事项:①不能以阿拉伯数字开头②不能采用关键字). 3.常量:固定的数 ...
- java基础语法(二)--单列模式
java基础语法(二)--单列模式 /** * 功能:单列模式 * @author Administrator * */ public class SingletonTest { public sta ...
- java基础语法(一)
java基础语法(一) 1.类是一种抽象的概念,对象是类的一种具体表示形式,是具体的概念.先有类,然后由类来生成 对象(Object).对象又叫做实例(Instance). 2.类由两大部分构成:属性 ...
随机推荐
- RabbitMQ接口封装
1.引用 <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client< ...
- Dev-C++ 安装教程
下载地址:https://sourceforge.net/projects/orwelldevcpp/ 下载完成,在指定的下载位置有一个安装包: 双击开始安装程序 安装是默认英文安装即可,在启动后可以 ...
- vue导出word文档
具体需求 在我的疫情可视化项目中有一个功能需要导出word文档,在页面点击按钮后处理数据生成word文件,然后自动下载文档. 实现步骤 多番查询后发现前端导出word,使用docxtemplater较 ...
- Coursera, Big Data 5, Graph Analytics for Big Data, Week 4
Graph Analytics With Neo4j 讲了怎样用Cypher 脚本语言去操作 Neo4j, 包括加graph, 导入csv数据. 接着讲了一些neo4j 的基本操作. 最后讲的,pat ...
- 合合信息参编“生成式人工智能个人信息保护技术要求系列标准”,助力AI行业可信发展
生成式人工智能作为新一轮的技术革命成果,在赋能千行百业,给经济社会发展带来新机遇的同时,也产生了个人信息泄露.数据安全风险等问题.在此背景下,中国信息通信研究院(简称"中国信通院" ...
- 深度解读:Spring.3版本自动装配机制的演变与实践
前言 今天,我们将开启对Spring-AI系列源码的讲解.请大家不急不躁,我会逐步深入,每次专注于一个知识点,以防让人感到困惑. 首先,源码的讨论自然离不开自动装配.有人可能会问,之前已经讲解过这个内 ...
- 如何用VMWARE创建一个Linux虚拟机
序言 各位好啊,我是会编程的蜗牛,作为java开发者,我们都是需要接触Linux服务器的,一般部署应用都是部署在Linux服务器上的~ 但一般的服务器要么需要购买,要么只是公司里的,那么有没有免费的L ...
- [OI] 珂朵莉树
对于一个序列,它有较多重复元素,并且题目需要维护区间修改,维护区间信息,维护整块值域信息的,那么就可以考虑珂朵莉树解决. 主要思想 珂朵莉树将全部相同的颜色块压缩为一组,如对于下述序列: 1 1 1 ...
- SuperMap iManager for K8S 删除旧环境修改NFS地址流程
一.完整删除SuperMap iManager 找到SuperMap iManager安装目录,执行: ./shutdown.sh -v 二.修改NFS存储路径 有两种办法,一种是直接修改/etc/e ...
- SuperMap iServer&iPortal&iEdge结合CAS 5.3服务器实现单点登录
2023-10-19 更新,由于阿里云maven镜像仓库里缺失了很多CAS5.3 依赖,如果缺少可以用附件里的同步到本地仓库 链接:https://pan.baidu.com/s/14DhRci_Am ...