Java 基础语法

Java 是一种面向对象的编程语言,具有简单、健壮、安全、跨平台等特点。下面是Java基础语法的详细介绍,并附带一些示例说明:

### 1. 变量和数据类型

Java 中的变量用于存储数据,必须先声明后使用。Java 的数据类型分为基本数据类型和引用数据类型。

- **基本数据类型**:包括整数类型(byte, short, int, long)、浮点数类型(float, double)、字符类型(char)、布尔类型(boolean)。
  
  ```java
  int age = 30;
  double price = 19.99;
  char grade = 'A';
  boolean isStudent = true;
  ```

- **引用数据类型**:包括类(Class)、接口(Interface)、数组(Array)等。

  ```java
  String name = "John";
  Integer[] numbers = {1, 2, 3, 4, 5};
  ```

### 2. 控制流语句

控制流语句用于控制程序的执行流程,主要包括条件语句(if-else)、循环语句(for、while、do-while)、跳转语句(break、continue、return)。

- **if-else 语句**:

  ```java
  int score = 85;
  if (score >= 90) {
      System.out.println("优秀");
  } else if (score >= 70) {
      System.out.println("良好");
  } else {
      System.out.println("及格");
  }
  ```

- **for 循环**:

  ```java
  for (int i = 0; i < 5; i++) {
      System.out.println("当前 i 的值为:" + i);
  }
  ```

- **while 循环**:

  ```java
  int count = 0;
  while (count < 5) {
      System.out.println("当前 count 的值为:" + count);
      count++;
  }
  ```

### 3. 方法和类

Java 是一种面向对象的语言,所有代码都必须位于类中。方法用于实现具体的功能,类用于封装数据和方法。

- **方法定义**:

  ```java
  public class Calculator {
      public int add(int a, int b) {
          return a + b;
      }
  }
  ```

- **类的实例化和使用**:

  ```java
  public class Main {
      public static void main(String[] args) {
          Calculator calc = new Calculator();
          int result = calc.add(5, 3);
          System.out.println("5 + 3 = " + result);
      }
  }
  ```

### 4. 异常处理

Java 使用 try-catch 块处理异常,确保程序在出现异常时能够正常处理或提供反馈。

- **异常处理**:

  ```java
  try {
      // 可能会抛出异常的代码
      int result = divide(10, 0);
      System.out.println("结果:" + result);
  } catch (ArithmeticException e) {
      // 处理异常的代码
      System.out.println("除数不能为零");
  }

  public static int divide(int a, int b) throws ArithmeticException {
      return a / b;
  }
  ```

### 5. 输入输出

Java 使用标准的输入输出流来进行数据的读取和输出。

- **标准输入输出**:

  ```java
  import java.util.Scanner;

  public class InputOutputExample {
      public static void main(String[] args) {
          Scanner scanner = new Scanner(System.in);
          System.out.print("请输入您的姓名:");
          String name = scanner.nextLine();
          System.out.println("您好," + name + "!");
          scanner.close();
      }
  }
  ```

这些是Java基础语法的核心部分,涵盖了变量和数据类型、控制流语句、方法和类、异常处理以及输入输出。通过这些语法,可以构建各种复杂的程序和应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/40308.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ 仿QT信号槽二

// 实现原理 // 每个signal映射到bitset位&#xff0c;全集 // 每个slot做为signal的bitset子集 // signal全集触发&#xff0c;标志位有效 // flip将触发事件队列前置 // slot检测智能指针全集触发的标志位&#xff0c;主动运行子集绑定的函数 // 下一帧对bitset全集进行触发清…

【C++】 解决 C++ 语言报错:Segmentation Fault

文章目录 引言 段错误&#xff08;Segmentation Fault&#xff09;是 C 编程中常见且令人头疼的错误之一。段错误通常发生在程序试图访问未被允许的内存区域时&#xff0c;导致程序崩溃。本文将深入探讨段错误的产生原因、检测方法及其预防和解决方案&#xff0c;帮助开发者在…

Lex Fridman Podcast with Andrej Karpathy

我不太喜欢Lex Fridman的声音&#xff0c;总觉得那让人昏昏欲睡&#xff0c; 但无奈他采访的人都太大牌了&#xff0c;只能去听。但是听着听着&#xff0c;就会觉得有深度的采访这些人&#xff0c;似乎也只有他这种由研究员背景的人能干&#xff0c; 另&#xff0c;他提的问题确…

4.2 投影

一、投影和投影矩阵 我们以下面两个问题开始&#xff0c;问题一是为了展示投影是很容易视觉化的&#xff0c;问题二是关于 “投影矩阵”&#xff08;projection matrices&#xff09;—— 对称矩阵且 P 2 P P^2P P2P。 b \boldsymbol b b 的投影是 P b P\boldsymbol b Pb。…

android的dump_processe中anon和swap字段的含义是什么?计算进程占用内存大小是否可以用这两个字段相加?

在Android系统中&#xff0c;dump_processes 命令或类似机制&#xff08;如通过 adb shell dumpsys&#xff09;的输出中&#xff0c;可能会包含与进程内存使用相关的信息&#xff0c;但通常不直接以 anon 和 swap 作为字段名。不过&#xff0c;基于您的提问&#xff0c;我可以…

嵌入式学习——硬件(Linux内核驱动编程LED、蜂鸣器、按键)——day59

1. 编写LED驱动&#xff08;初始化所有子设备号&#xff09; #include <linux/init.h> #include <linux/module.h> #include <linux/kernel.h> #include <linux/fs.h> #include <asm/uaccess.h> #include <asm/io.h>#define GPBCON (0x5…

2024年7月5日 (周五) 叶子游戏新闻

老板键工具来唤去: 它可以为常用程序自定义快捷键&#xff0c;实现一键唤起、一键隐藏的 Windows 工具&#xff0c;并且支持窗口动态绑定快捷键&#xff08;无需设置自动实现&#xff09;。 卸载工具 HiBitUninstaller: Windows上的软件卸载工具 《乐高地平线大冒险》为何不登陆…

江汉大学刘春萌同学整理的wifi模块 上传mqtt实验步骤

一.固件烧录 1.打开安信可官网 2.点击wifi模组系列的ESP8266 3.点击各类固件后选择固件号1471下载 4.打开烧录工具将下载的二进制文件导入并将后面的起始地址写为0x00000,下面勾选40mhz QIO 8Mbit点击start下载即可 二.本地部署mqtt服务器(windows) 1.下载mosquitto后有一个m…

Java并发编程知识整理笔记

目录 ​1. 什么是线程和进程&#xff1f; 线程与进程有什么区别&#xff1f; 那什么是上下文切换&#xff1f; 进程间怎么通信&#xff1f; 什么是用户线程和守护线程&#xff1f; 2. 并行和并发的区别&#xff1f; 3. 创建线程的几种方式&#xff1f; Runnable接口和C…

微博视频下载

video_urls 获取xpath://video/src|//video/autoplay # !/usr/bin/python3 # -*- coding:utf-8 -*- """ author: JHC000abcgmail.com file: demo1.py time: 2024/6/3 18:00 desc:""" import os import re import requests from urllib.parse im…

Qt实现流动的管道效果代码示例

在现代图形用户界面&#xff08;GUI&#xff09;应用程序中&#xff0c;动态效果可以显著增强用户体验。本文将介绍如何使用Qt框架实现一个流动的管道效果。我们将通过自定义QWidget来绘制管道&#xff0c;并使用定时器来实现流动效果。 1. 准备工作 首先&#xff0c;确保你已…

LeetCode.68文本左右对齐

问题描述 给定一个单词数组 words 和一个长度 maxWidth &#xff0c;重新排版单词&#xff0c;使其成为每行恰好有 maxWidth 个字符&#xff0c;且左右两端对齐的文本。 你应该使用 “贪心算法” 来放置给定的单词&#xff1b;也就是说&#xff0c;尽可能多地往每行中放置单词…

HMI 的 UI 风格创造奇迹

HMI 的 UI 风格创造奇迹

Table-driven Declarative Rewrite Rule (DRR)

Table-driven Declarative Rewrite Rule (DRR 好处规则定义原模式基于位置的匹配操作的匹配有向无环图&#xff08;DAG&#xff09;(AOp (BOp), $attr): 绑定操作的结果 好处 模式创建者只需要声明性地指定重写模式&#xff0c;而不必担心调用具体的C方法。 消除样板代码&…

Laravel5+mycat 报错 “Packets out of order”

背景 近期对负责项目&#xff0c;配置了一套 主从复制的 MySQL 集群 使用了中间件 mycat 但测试发现&#xff0c;替换了原来的数据连接后&#xff0c;会出现 Packets out of order 的报错 同时注意到&#xff0c;有的框架代码中竟然也会失效&#xff0c;比如 controller 类中&…

Linux:进程间通信(一.初识进程间通信、匿名管道与命名管道、共享内存)

上次结束了基础IO&#xff1a;Linux&#xff1a;基础IO&#xff08;三.软硬链接、动态库和静态库、动精态库的制作和加载&#xff09; 文章目录 1.认识进程间通信2.管道2.1匿名管道2.2pipe()函数 —创建匿名管道2.3匿名管道的四种情况2.4管道的特征 3.基于管道的进程池设计4.命…

基于java将dicom转化为jpg的几种方式

参考1 JAVA代码实现DICOM文件转换JPG package com.example;import java.awt.image.BufferedImage; import java.io.File;import javax.imageio.ImageIO;import ij.plugin.DICOM;/*** dicom文件java解析&#xff0c;生成图片* 不过这里不能解析压缩的dicom文件*/ public class …

Vue3学习笔记(n.0)

vue指令之v-for 首先创建自定义组件&#xff08;practice5.vue&#xff09;&#xff1a; <!--* Author: RealRoad1083425287qq.com* Date: 2024-07-05 21:28:45* LastEditors: Mei* LastEditTime: 2024-07-05 21:35:40* FilePath: \Fighting\new_project_0705\my-vue-app\…

重载一元运算符

自增运算符 #include<iostream> using namespace std; class CGirl { public:string name;int ranking;CGirl() { name "zhongge"; ranking 5; }void show() const{ cout << "name : "<<name << " , ranking : " <…

cmake编译源码教程(一)

1、介绍 本次博客介绍使用cmake编译平面点云分割的源代码,其对室内点云以及TLS点云中平面结构进行分割,分割效果如下: 2、编译过程 2.1 源代码下载 首先,下载源代码,如下所示,在该文件夹下新建一个build文件夹,用于后续生成sln工程。 同时,由于该库依赖open…