当前位置: 首页 > news >正文

Java:基础语法

基础语法

  • 1. 基本结构
    • 类和方法
  • 2. 变量和数据类型
    • 基本数据类型
    • 引用数据类型
  • 3. 操作符
    • 算术操作符
    • 比较操作符
    • 逻辑操作符
  • 4. 控制结构
    • 条件语句
    • 循环语句
  • 5. 数组
  • 6. 方法
  • 7. 面向对象编程
    • 类和对象
    • 继承
    • 多态
  • 8. 异常处理
  • 9. 常用类库

1. 基本结构

类和方法

Java程序的基本单位是类,每个类包含一个或多个方法。类是对象的蓝图,定义了对象的属性和行为。方法是执行特定任务的代码块。

public class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}
}
  • public class HelloWorld: 定义一个公共类HelloWorld
  • public static void main(String[] args): 定义程序的入口方法main,它是Java程序的执行起点。
  • System.out.println("Hello, World!");: 输出字符串到控制台。

2. 变量和数据类型

基本数据类型

Java有八种基本数据类型,每种类型都有固定的大小和范围。

  • byte: 8位整数,范围-128到127。
  • short: 16位整数,范围-32,768到32,767。
  • int: 32位整数,范围-231到231-1。
  • long: 64位整数,范围-263到263-1。
  • float: 32位单精度浮点数。
  • double: 64位双精度浮点数。
  • char: 16位Unicode字符。
  • boolean: 布尔类型,只有两个值:truefalse
int age = 25;
double price = 19.99;
char grade = 'A';
boolean isJavaFun = true;

引用数据类型

引用数据类型包括类、接口和数组。

  • String: 代表字符串。
String name = "Alice";

3. 操作符

算术操作符

用于进行算术运算。

  • +: 加法。
  • -: 减法。
  • *: 乘法。
  • /: 除法。
  • %: 取模(余数)。
int a = 10;
int b = 5;
int sum = a + b; // 15
int diff = a - b; // 5
int product = a * b; // 50
int quotient = a / b; // 2
int remainder = a % b; // 0

比较操作符

用于比较两个值。

  • ==: 等于。
  • !=: 不等于。
  • >: 大于。
  • <: 小于。
  • >=: 大于等于。
  • <=: 小于等于。
int x = 10;
int y = 20;
boolean isEqual = (x == y); // false
boolean isNotEqual = (x != y); // true
boolean isGreater = (x > y); // false
boolean isLesser = (x < y); // true
boolean isGreaterOrEqual = (x >= y); // false
boolean isLesserOrEqual = (x <= y); // true

逻辑操作符

用于进行逻辑运算。

  • &&: 逻辑与。
  • ||: 逻辑或。
  • !: 逻辑非。
boolean a = true;
boolean b = false;
boolean andResult = (a && b); // false
boolean orResult = (a || b); // true
boolean notResult = !a; // false

4. 控制结构

条件语句

  • if语句:根据条件执行不同的代码块。
if (age > 18) {System.out.println("Adult");
} else {System.out.println("Not Adult");
}
  • switch语句:根据变量的值执行不同的代码块。
int day = 2;
switch (day) {case 1:System.out.println("Monday");break;case 2:System.out.println("Tuesday");break;// 其他casedefault:System.out.println("Invalid day");
}

循环语句

  • for循环:用于固定次数的循环。
for (int i = 0; i < 10; i++) {System.out.println(i);
}
  • while循环:用于基于条件的循环。
int i = 0;
while (i < 10) {System.out.println(i);i++;
}
  • do-while循环:类似于while循环,但至少执行一次。
int i = 0;
do {System.out.println(i);i++;
} while (i < 10);

5. 数组

数组是相同数据类型元素的集合。

int[] numbers = {1, 2, 3, 4, 5};
for (int number : numbers) {System.out.println(number);
}

6. 方法

方法是执行特定任务的代码块,可以传入参数并返回结果。

public int add(int a, int b) {return a + b;
}public static void main(String[] args) {HelloWorld hw = new HelloWorld();int sum = hw.add(5, 3);System.out.println(sum); // 输出8
}

7. 面向对象编程

类和对象

类是对象的蓝图,对象是类的实例。

public class Dog {String breed;int age;void bark() {System.out.println("Woof");}
}public class TestDog {public static void main(String[] args) {Dog myDog = new Dog();myDog.breed = "Labrador";myDog.age = 3;myDog.bark();}
}

继承

通过继承,一个类可以继承另一个类的属性和方法。

public class Animal {void eat() {System.out.println("This animal eats food.");}
}public class Dog extends Animal {void bark() {System.out.println("Woof");}
}public class TestInheritance {public static void main(String[] args) {Dog myDog = new Dog();myDog.eat(); // 输出"This animal eats food."myDog.bark(); // 输出"Woof"}
}

多态

多态允许不同类的对象通过相同的接口调用不同的方法实现。

public class Animal {void sound() {System.out.println("Animal makes a sound");}
}public class Dog extends Animal {void sound() {System.out.println("Woof");}
}public class Cat extends Animal {void sound() {System.out.println("Meow");}
}public class TestPolymorphism {public static void main(String[] args) {Animal myDog = new Dog();Animal myCat = new Cat();myDog.sound(); // 输出"Woof"myCat.sound(); // 输出"Meow"}
}

8. 异常处理

Java通过异常处理机制来处理运行时错误,确保程序的健壮性。

try {int division = 10 / 0;
} catch (ArithmeticException e) {System.out.println("Cannot divide by zero");
} finally {System.out.println("This block is always executed");
}
  • try块:包含可能抛出异常的代码。
  • catch块:捕获并处理异常。
  • finally块:无论是否发生异常,始终执行的代码块。

9. 常用类库

Java标准库提供了许多实用的类和方法,例如java.util包中的ArrayList类:

import java.util.ArrayList;public class TestArrayList {public static void main(String[] args) {ArrayList<String> list = new ArrayList<>();list.add("Apple");list.add("Banana");list.add("Cherry");for (String fruit : list) {System.out.println(fruit);}}
}
  • import java.util.ArrayList;: 导入ArrayList类。
  • ArrayList<String> list = new ArrayList<>();: 创建ArrayList对象。
  • list.add("Apple");: 向列表添加元素。
  • for (String fruit : list): 使用增强的for循环遍历列表。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • javascript 的奇技巧淫一
  • Java面试八股之JDK 动态代理和 CGLIB 动态代理的区别
  • 用户画像系列——Spark任务调优实践
  • mysql问题解决
  • 【Material-UI】Icon Button 组件详解
  • 【2.4 python中的基本输入和输出】
  • 【vulnhub】Bob:1.0.1靶机
  • Redis入门概述
  • vulnhub之serial
  • 工作中,如何有效解决“冲突”?不回避,不退让才是最佳方式
  • 盘点Hutool6.0中新增的那些方法(上)
  • Day6
  • 缓冲流练习
  • js第二天
  • 最强开源文生图模型一夜易主!SD一作、Stabililty AI核心成员Robin Rombach下场创业了,一出手就是王炸。
  • 【译】JS基础算法脚本:字符串结尾
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 230. Kth Smallest Element in a BST
  • CSS居中完全指南——构建CSS居中决策树
  • DataBase in Android
  • Electron入门介绍
  • HashMap ConcurrentHashMap
  • Node项目之评分系统(二)- 数据库设计
  • python docx文档转html页面
  • Python socket服务器端、客户端传送信息
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 手写一个CommonJS打包工具(一)
  • 智能网联汽车信息安全
  • FaaS 的简单实践
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​Java基础复习笔记 第16章:网络编程
  • # 利刃出鞘_Tomcat 核心原理解析(八)-- Tomcat 集群
  • #C++ 智能指针 std::unique_ptr 、std::shared_ptr 和 std::weak_ptr
  • (¥1011)-(一千零一拾一元整)输出
  • (1)bark-ml
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (windows2012共享文件夹和防火墙设置
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (十七)Flink 容错机制
  • (算法)Travel Information Center
  • (五)IO流之ByteArrayInput/OutputStream
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (转载)虚函数剖析
  • *2 echo、printf、mkdir命令的应用
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net Application的目录
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .net 获取url的方法
  • .NET 命令行参数包含应用程序路径吗?
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。