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.类由两大部分构成:属性 ...
随机推荐
- 在程序里面执行system(“cd /某个目录“),为什么路径切换不成功?
粉丝提问: 彭老师,问下,在程序里面执行system("cd /某个目录"),这样会切换不成功,为啥呢 实例代码: 粉丝的疑惑是明明第10行执行了cd /media操作, 为什么1 ...
- 是技术牛人,如何拿到国内IT巨头的Offer
不久前,byvoid面阿里星计划的面试结果截图泄漏,引起无数IT屌丝的羡慕敬仰.看看这些牛人,NOI金牌,开源社区名人,三年级开始写Basic...在跪拜之余我们不禁要想,和这些牛人比,作为绝大部分技 ...
- 智能指针相关:enable_shared_from_this()在开发中的常见应用
类中使用shared_ptr()的问题 当我们先定义一个指针,然后再用这个指针构造两个智能指针 int main() { int* pt = new int(); std::shared_ptr< ...
- “vscode #include 错误”的问题解决办法
确定gcc没问题的情况下 打开这个文件 把linux下的文件直接复制过来 然后加上路径就OK了
- 记一次list集合优化
已知某个列表List1有2000条数据,但是因为这个列表的某个字段要从另一个表查询,所以根据一个关联的查询条件查出来的另一个List2有将近75000条数据,然后需要先循环第一个List1,然后循环里 ...
- 【selenium + python】之BSTestRunner生成测试报告时报错:NameError: name 'unicode' is not defined
好久没生成报告了,最近使用的时候报了一个错误!用的这个报告模板BSTestRunner但是汇报下面的错误: NameError: name 'unicode' is not defined 经查询得知 ...
- 折腾 Quickwit,Rust 编写的分布式搜索引擎 - 可观测性之分布式追踪
概述 分布式追踪是一种跟踪应用程序请求流经不同服务(如前端.后端.数据库等)的过程.它是一个强大的工具,可以帮助您了解应用程序的工作原理并调试性能问题. Quickwit 是一个用于索引和搜索非结构化 ...
- Dockerfile介绍及常用保留指令
从本文开始,咱们将介绍docker的另外一个技术点:dockerfile.我们来看看DockerFile相关的知识点,我们将怎么学习? 1:DockerFile是什么? 2:DockerFile构建过 ...
- python将资源打包进exe
前言 之前py打包的exe一直是不涉及图片等资源的,直到我引入图片后打包,再双击exe发现直接提示未找到资源. 分析 我py代码中的图片引入使用的是项目相对路径,打包时pyinstaller只会引入p ...
- 【YashanDB知识库】如何使用yasldr导入lob类型?
问题现象 在各个项目实施中,有时候会使用到yasldr工具进行csv数据的导入.关于yasldr一般的使用方法,官方文档已经有详细的介绍,具体可见:yasldr使用指导.但在涉及LOB类型的导入时,会 ...