草庐IT

JAVA基础深度复习(1)———对于Hello Word的解析

Abednego_子瑜 2023-09-21 原文

 

代码:

/**

 *经典hello word

 */

public class HelloWord {


//主函数入口

    public static void main(String[] args) {


/*  输出

            换行输出

         */

        System.out.println("Hello Word");

    }

}


思考几个问题:

[if !supportLists]1.  [endif]使用的语言是什么?有什么特点?

[if !supportLists]2.  [endif]使用的开发工具是什么?

[if !supportLists]3.  [endif]代码的结构是怎么样的?都包含哪些内容?

Java定义:

一门向对象的编程语言。和C++有相似之处,但摒弃了其中难以理解的多继承,指针等概念。同时,它既是解释型语言又是编程型语言。


特点:

[if !supportLists]1. [endif]跨平台:Java并不依赖平台,用Java编写的程序可以运用到任何操作系统上。

[if !supportLists]2. [endif]安全性:Java的存储分配模型是它防御恶意代码的主要方法之一。所以很多大型企业级项目开发都会选择用Java开发。

[if !supportLists]3. [endif]多线程性:Java是多线程语言,它可以同时执行多个程序,能处理不同任务。

[if !supportLists]4. [endif]简单、健壮。

分类:

JavaSE(J2SE)(Java2 Platform

    Standard Edition,java平台标准版)

JavaEE(J2EE)(Java

    2 Platform,Enterprise Edition,java平台企业版)

JavaME(J2ME)(Java

    2 Platform Micro Edition,java平台微型版)。

发展历程可以自行了解。


开发工具:

[if !supportLists]1. [endif]IDEA(强烈推荐,上边的代码就是IDEA )[if !vml]

[endif]

[if !supportLists]2. [endif]eclipse(用不习惯)[if !vml]

[endif]

[if !supportLists]3. [endif]文本编辑器。

[if !supportLists]4. [endif]JDK7、8......


所有的java 程序想在本地电脑上运行都需要提前配置好环境变量,这样才能正常执行程序。

配置环境变量的步骤:


设置JAVA_HOME:

一是为了方便引用,比如,JDK安装在D:\workspace\jdk8目录里,则设置JAVA_HOME为该目录路径, 那么以后要使用这个路径的时候, 只需输入%JAVA_HOME%即可,避免每次引用都输入很长的路径串;

二则是归一原则, 当JDK路径改变的时候, 仅需更改JAVA_HOME的变量值即可, 否则,就要更改任何用绝对路径引用JDK目录的文档, 要是万一没有改全, 某个程序找不到JDK,后果是可想而知的----系统崩溃!

三则是第三方软件会引用约定好的 JAVA_HOME 变量, 不然, 你不能正常使用该软件。

在系统环境变量那一栏中点 -> 新建 JAVA_HOME (JAVA_HOME指向的是JDK的安装路径)

path变量

path 变量使得我们能够在系统中的任何地方运行java应用程序,比如 javac、java、javah 等等,这就要找到我们安装 JDK 的目录,

假设我们的JDK安装在 C:\jdk1.6.0 目录下,那么在D:\workspace\jdk8\bin目录下就是我们常用的 java 应用程序,我们就需要把D:\workspace\jdk8\bin这个目录加到 path 环境变量里面。

classpath变量

classpath 环境变量,是当我们在开发java程序时需要引用别人写好的类时,要让 java 解释器知道到哪里去找这个类。通常,sun 为我们提供了一些额外的丰富的类包,一个是 dt.jar,一个是 tools.jar,这两个 jar 包都位于D:\workspace\jdk8\lib 目录下,所以通常我们都会把这两个 jar 包加到我们的 classpath 环境变量中 set classpath=.;

D:\workspace\jdk8\lib\tools.jar;C:\jdk1.6.0\lib\dt.jar。测试安装成功与否:java -version或者javac-version


补充:

jdk和jre 的区别:

JRE(Java

Runtime Enviroment) 是Java 的运行环境。面向 Java 程序的使用者,而不是开发者。如果你仅下载并安装了JRE,那么你的系统只能运行 Java 程序。JRE 是运行 Java 程序所必须环境的集合,包含JVM标准实现及 Java 核心类库。它包括 Java 虚拟机、Java 平台核心类和支持文件。它不包含开发工具(编译器、调试器等)。

JDK(Java

Development Kit) 又称J2SDK(Java2 Software Development Kit),是 Java 开发工具包,它提供了 Java 的开发环境(提供了编译器javac 等工具,用于将 java 文件编译为 class 文件)和运行环境(提 供了 JVM 和 Runtime 辅助包,用于解析 class 文件使其得到运行)。如果你下载并安装了 JDK,那么你不仅可以开发 Java 程序,也同时拥有了运行 Java 程序的平台。JDK 是整个Java 的核心,包括了Java 运行环境(JRE),一堆 Java 工具 tools.jar 和Java 标准类库 (rt.jar)。


学者:我还是看不懂,怎么还不介绍代码????


题主:说了这么多没用的,加下来根据代码说明一下JAVA的知识点.

public class HelloWord{}


[修饰符][类][类名]{}

[if !supportLists]1.[endif]JAVA中的修饰符有public、protected、default、private。代标着不同的访问权限,其中一个java程序中只能有一个类名能够被public修饰,并且程序必须和该类名一致。

[if !supportLists]2.[endif]下图为访问控制权限能够被使用的范围:


修饰符当前类同一包内子类(同一包)子类(不同包)其他包

修饰符当前类同一包内子类(同一包)子类(不同包)其他包

publicYYYYY

protectedYYYY/N(说明)N

defaultYYYNN

privateYNNNN

3.Java中一些命名规范(包括类名、变量、方法名等):

1.必须以字母、下划线、或者美元符开头;

①以美元符 开头命名的变量虽然能够编译通过但是不建议使用;

②中文也可以作为命名开头且编译也能通过,但是不建议使用。

2.除开头外后面的部分可以有字母、下划线、美元符$以及数字组成;

3.虽然变量名不限制长度,但能表达清楚命名的含义即可;

4.变量名不可以和java的关键字冲突;

4.Java中的一些关键字:

①用于定义访问权限修饰符的关键字: private、protected、public

②用于定义类、函数、变量修饰符的关键字:abstract、final、static、synchronized

③用于定义类与类之间关系的关键字:extends、implements

④用于定义建立实例及引用实例、判断实例的关键字:new、this、super、instanceof

⑤用于异常处理的关键字:try、catch、finally、throw、throws

⑥用于包的关键字:package、import

⑦其他修饰符关键字:native、strictfp、transient、volatile、assert


public static void main(String[] args){}:

[if !supportLists]1.   [endif]这段代码表明程序的入口是从这里开始,代表着主线程。

[if !supportLists]2.   [endif]关于static之后会具体介绍,void表示方法的返回值为空,main代表法名,String[]args 表示参数类型为一个字串数组。

[if !supportLists]3.   [endif]方法的返回值包含基本数据类和引用数据类型,

Java中的基本数据类型有8种:

byte short int long boolean char float double


引用数据类型包括:String 类名等等。





4.Java中的注释有三种形式;

单行注释:// 注释内容

多行注释:/*... 注释内容....*/

文本注释:/**.. 注释内容....*/

  System.out.println("Hello

Word");

打印输出:system存在Java.Lang包下。println,printf,print代表着不同的输出形式.

Java中的{}在类和方法中使用,以;代表结束。

 

总结:之后会写一些关于Java基础知识的内容。今天只是通过Java程序初始Java,以及了解一些Java中的代码结构和相关内容。



 











修饰符当前类同一包内子类(同一包)子类(不同包)其他包

publicYYYYY

protectedYYYY/N(说明)N

defaultYYYNN

privateYNNNN

有关JAVA基础深度复习(1)———对于Hello Word的解析的更多相关文章

  1. Ruby 解析字符串 - 2

    我有一个字符串input="maybe(thisis|thatwas)some((nice|ugly)(day|night)|(strange(weather|time)))"Ruby中解析该字符串的最佳方法是什么?我的意思是脚本应该能够像这样构建句子:maybethisissomeuglynightmaybethatwassomenicenightmaybethiswassomestrangetime等等,你明白了......我应该一个字符一个字符地读取字符串并构建一个带有堆栈的状态机来存储括号值以供以后计算,还是有更好的方法?也许为此目的准备了一个开箱即用的库?

  2. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  3. ruby - 用逗号、双引号和编码解析 csv - 2

    我正在使用ruby​​1.9解析以下带有MacRoman字符的csv文件#encoding:ISO-8859-1#csv_parse.csvName,main-dialogue"Marceu","Giveittohimóhe,hiswife."我做了以下解析。require'csv'input_string=File.read("../csv_parse.rb").force_encoding("ISO-8859-1").encode("UTF-8")#=>"Name,main-dialogue\r\n\"Marceu\",\"Giveittohim\x97he,hiswife.\"\

  4. java - 等价于 Java 中的 Ruby Hash - 2

    我真的很习惯使用Ruby编写以下代码:my_hash={}my_hash['test']=1Java中对应的数据结构是什么? 最佳答案 HashMapmap=newHashMap();map.put("test",1);我假设? 关于java-等价于Java中的RubyHash,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/22737685/

  5. java - 从 JRuby 调用 Java 类的问题 - 2

    我正在尝试使用boilerpipe来自JRuby。我看过guide从JRuby调用Java,并成功地将它与另一个Java包一起使用,但无法弄清楚为什么同样的东西不能用于boilerpipe。我正在尝试基本上从JRuby中执行与此Java等效的操作:URLurl=newURL("http://www.example.com/some-location/index.html");Stringtext=ArticleExtractor.INSTANCE.getText(url);在JRuby中试过这个:require'java'url=java.net.URL.new("http://www

  6. ruby-on-rails - 我更新了 ruby​​ gems,现在到处都收到解析树错误和弃用警告! - 2

    简而言之错误:NOTE:Gem::SourceIndex#add_specisdeprecated,useSpecification.add_spec.Itwillberemovedonorafter2011-11-01.Gem::SourceIndex#add_speccalledfrom/opt/local/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:91./opt/local/lib/ruby/gems/1.8/gems/rails-2.3.8/lib/rails/gem_dependency.rb:275:in`==':und

  7. java - 我的模型类或其他类中应该有逻辑吗 - 2

    我只想对我一直在思考的这个问题有其他意见,例如我有classuser_controller和classuserclassUserattr_accessor:name,:usernameendclassUserController//dosomethingaboutanythingaboutusersend问题是我的User类中是否应该有逻辑user=User.newuser.do_something(user1)oritshouldbeuser_controller=UserController.newuser_controller.do_something(user1,user2)我

  8. java - 什么相当于 ruby​​ 的 rack 或 python 的 Java wsgi? - 2

    什么是ruby​​的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht

  9. Matlab imread()读到了什么 (浅显 当复习文档了) - 2

    matlab打开matlab,用最简单的imread方法读取一个图像clcclearimg_h=imread('hua.jpg');返回一个数组(矩阵),往往是a*b*cunit8类型解释一下这个三维数组的意思,行数、数和层数,unit8:指数据类型,无符号八位整形,可理解为0~2^8的数三个层数分别代表RGB三个通道图像rgb最常用的是24-位实现方法,即RGB每个通道有256色阶(2^8)。基于这样的24-位RGB模型的色彩空间可以表现256×256×256≈1670万色当imshow传入了一个二维数组,它将以灰度方式绘制;可以把图像拆分为rgb三层,可以以灰度的方式观察它figure(1

  10. Observability:从零开始创建 Java 微服务并监控它 (二) - 2

    这篇文章是继上一篇文章“Observability:从零开始创建Java微服务并监控它(一)”的续篇。在上一篇文章中,我们讲述了如何创建一个Javaweb应用,并使用Filebeat来收集应用所生成的日志。在今天的文章中,我来详述如何收集应用的指标,使用APM来监控应用并监督web服务的在线情况。源码可以在地址 https://github.com/liu-xiao-guo/java_observability 进行下载。摄入指标指标被视为可以随时更改的时间点值。当前请求的数量可以改变任何毫秒。你可能有1000个请求的峰值,然后一切都回到一个请求。这也意味着这些指标可能不准确,你还想提取最小/

随机推荐