首页 > 编程语言 >java-se-01

java-se-01

时间:2025-01-08 17:13:39浏览次数:1  
标签:01 Java String 修饰符 System java public se

Java

目录

1.我的第一个Java程序

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

编译:

javac Main.java

该命令将java源文件编译为class字节码文件

执行:

java Main

该命令将执行class字节码文件

2.Java简介

JavaSE(J2SE)java平台标准版

JavaEE(J2EE)java平台企业版

JavaME(J2ME)java平台微型版

java特性:简单,面向对象,分布式,健壮性,安全,可移植,解释型,高性能

3.开发环境

JDK:Java Development Kit,Java开发工具包,包含:

  • Java编译器(javac):能够把Java源文件(.java后缀)编译成字节码文件(.class后缀),让代码可以在Java虚拟机上运行。
  • Java运行时环境(JRE):JDK内置了JRE,从而为Java程序运行提供必备的运行基础,包括Java虚拟机和Java类库等。
  • 调试工具(jdb等):辅助开发者定位、排查代码中的错误,比如找出程序运行时出现的异常,逻辑错误等,提升代码质量。
  • Java文档生成工具(javadoc):可以依据java代码中的注释,自动生成规范的API文档,方便开发者之间共享代码,以及后续代码维护。

4.Java基础

  • 对象:对象就是一个实例,有状态和行为。
  • 类:类是一个模版,它描述一类对象的行为和状态。
  • 方法:方法就是行为,一个类可以有很多方法。
  • 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。
public class Main {
//  访问修饰符 关键字 返回类型 方法名 String类 字符串数组
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

Java修饰符:

  • 访问控制修饰符:default,public,protected,private
  • 非访问控制修饰符:final,abstract,static,synchronized

5.注释

  1. 单行注释
  2. 多行注释
  3. 文档注释

6.Java对象和类

创建对象:

  1. 声明:声明一个对象,包含对象名称和对象类型
  2. 实例化:使用关键之new来创建一个对象
  3. 初始化:使用new创建对象时,会调用构造方法初始化对象
public class Puppy{
   public Puppy(String name){
      //这个构造器仅有一个参数:name
      System.out.println("小狗的名字是 : " + name ); 
   }
   public static void main(String[] args){
      // 下面的语句将创建一个Puppy对象
      Puppy myPuppy = new Puppy( "tommy" );
   }
}

7.基本数据类型

自动类型转换:byte,short,char->int->long->float->double

8.基本命名规则

变量:驼峰命名

常量:大写字母,单词之间用下划线分割

9.修饰符

访问控制修饰符:public,protected,default,private

非访问修饰符:

static 修饰符

  • 静态变量:类变量,唯一
  • 静态方法:静态方法不能使用类的非静态变量

final 修饰符

  • final 变量:不能修改
  • final 方法:可以被子类集成,但不能被子类重写,声明final方法的主要目的是防止该方法的内容被修改
  • final 类:final类不能被继承,没有类能够继承final类的任何特性

abstract 修饰符

  • 抽象类:抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充。
  • 抽象方法:抽象方法是一种没有任何实现的方法,该方法的具体实现由子类提供

synchronized 修饰符

synchronized 关键字声明的方法同一时间只能被一个线程访问

transient 修饰符

序列化的对象包含被transient修饰的实例变量时,Java虚拟机跳过该特定的变量

volatile 修饰符

volatile 修饰的成员变量在每次 被线程访问时,都强制从共享内存中重新读取该成员变量的值。

10.String类

String 创建的字符串存储在公共池中,而 new 创建的字符串对象在堆上:

String s1 = "Runoob";              // String 直接创建
String s2 = "Runoob";              // String 直接创建
String s3 = s1;                    // 相同引用
String s4 = new String("Runoob");   // String 对象创建
String s5 = new String("Runoob");   // String 对象创建
  1. 字符串长度:.length()
  2. 字符串连接:.concat()
  3. 字符串格式:.format()

11.StringBuffer 和 StringBuilder

对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类

和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象

区别:StringBuilder类在Java5中被提出,它和StringBuffer之间的最大不同在于StringBuilder的方法不是线程安全的(不能同步访问)。由于StringBuilder相较于StringBuffer有速度优势,所以多数 情况下建议使用StringBuilder类

12.流(stream),文件(File)和IO

从控制台读取多字符输入:

//使用 BufferedReader 在控制台读取字符
 
import java.io.*;
 
public class BRRead {
    public static void main(String[] args) throws IOException {
        char c;
        // 使用 System.in 创建 BufferedReader
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("输入字符, 按下 'q' 键退出。");
        // 读取字符
        do {
            c = (char) br.read();
            System.out.println(c);
        } while (c != 'q');
    }
}
=================================================
输入字符, 按下 'q' 键退出。
runoob
r
u
n
o
o
b


q
q

从控制台读取字符串

//使用 BufferedReader 在控制台读取字符
import java.io.*;
 
public class BRReadLines {
    public static void main(String[] args) throws IOException {
        // 使用 System.in 创建 BufferedReader
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str;
        System.out.println("Enter lines of text.");
        System.out.println("Enter 'end' to quit.");
        do {
            str = br.readLine();
            System.out.println(str);
        } while (!str.equals("end"));
    }
}

==================================
Enter lines of text.
Enter 'end' to quit.
This is line one
This is line one
This is line two
This is line two
end
end

写不需要Buffer,直接OutputStreamWriter

标签:01,Java,String,修饰符,System,java,public,se
From: https://www.cnblogs.com/brownjy/p/18660130

相关文章

  • Vue3 - Element Plus 报错 Uncaught TypeError: Cannot set property ‘value‘ of un
    前言关于此问题网上的教程都无法解决,如果您的报错信息与我相似,即可解决。在vue3+element-plus项目开发中,解决报错:UncaughtTypeError:Cannotsetproperty‘value‘ofundefined,使用组件时提示错误,意思是尝试修改一个不存在的对象属性或者没有权限修改的属性,很奇怪......
  • 【Java编程】一个高性能、支持百万级多任务重试框架:Fast-Retry
    前言假设你的系统里有100万个用户,然后你要轮询重试的获取每个用户的身份信息,如果你还在使用SpringRetry和GuavaRetry之类的这种单任务的同步重试框架,那你可能到猴年马月也处理不完,即使加再多的机器和线程也是杯水车薪,而Fast-Retry正是为这种场景而生。Fast-Retry一个高性能......
  • sys.dm_exec_connections:查询与 SQL Server 实例建立的连接有关的信息以及每个连接的
    文章目录引言I基于dm_exec_connections查询客户端ip权限物理联接时间范围dm_exec_connections表seealso:监视SQLServer内存使用量资源信号灯DMVsys.dm_exec_query_resource_semaphores(确定查询执行内存的等待)引言查询历史数据库客户端ip应......
  • 基于 GEE Sentinel-1 数据集提取水体
    目录1水体提取原理2完整代码3运行结果1水体提取原理水体提取是地理信息和遥感技术的关键应用之一,对于多个领域都具有重要的应用价值。它有助于更好地管理水资源,保护环境,减少灾害风险,促进可持续发展,以及确保饮用水供应的安全。水体提取技术的不断发展和改进将进一步......
  • 逆序加密(Reverse Cipher)
    代码实例#include<iostream>#include<fstream>#include<string>#include<algorithm>usingnamespacestd;//逆序加密函数stringreverseEncrypt(stringtext){reverse(text.begin(),text.end());returntext;}intmain(){ifs......
  • JNI接口--实现Java调用C++
    1、JNI原理概述通常为了更加灵活高效地实现计算逻辑,我们一般使用C/C++实现,编译为动态库,并为其设置C接口和C++接口。用C++实现的一个库其实是一个或多个类的简单编译链产物,然后暴露其实现类的构造方法和纯虚接口类。这样就可以通过多态调用到库内部的实现类及其成员方法。进一步地......
  • java 中类的继承(超级基础哦)
    在Java中,类的继承是面向对象编程的一个重要特性。继承允许一个类从另一个类中继承属性和方法。通过继承,子类可以重用父类的代码,并可以进行方法的重写(Override)或扩展。1.继承的基本语法class父类{//父类的属性和方法}class子类extends父类{//子类继......
  • java中的接口概念(超级基础哦)
    在Java中,接口(Interface)是一种特殊的类,通常用于定义类与类之间的协议或契约,规定类必须实现哪些方法。接口本身只包含方法的声明,而不包含方法的具体实现。实现接口的类必须提供接口中声明的所有方法的具体实现。1.接口的基本语法interface接口名称{//常量pub......
  • Semaphore在Java中的解释及主要用途
    目录定义使用方法主要用途使用场景示例定义Semaphore(信号量)是Java并发编程中的一个同步工具类,用于控制对共享资源的访问。它通过维护一个计数器来管理多个线程对资源的并发访问数量。这个计数器表示当前可用的许可数,每当一个线程获取资源时,计数器减一;当线程释放资源时......
  • Jira server即将停止维护,推荐一款开源平替工具-Kanass
    在我们日常的研发过程中,为了确保项目高效有序的完成,通常会使用一些项目管理工具如Jira、TAPD、禅道等。JIRAserver版本即将停止维护,推荐一款可以平替的项目管理工具-Kanass。1、产品简介Kanass(取中国喀纳斯谐音)是一款开源免费的项目管理工具,包含项目管理、项目集管理......