JAVA(一)

我的第一个JAVA程序

以下我们通过一个简单的实例来展示Java编程,创建文件HelloWorld.java(文件名需与类名一致),代码如下

实例

public class HelloWorld{public static void main(String[] args){System.out.println('Hello  World')
}
}

注:Srting args[] 与Srting[] args 都可执行,但推荐使用String[] args, 这样可以避免歧义和误读

运行以上实例,输出结果如下:

javac HelloWorld.java
java  HelloWorldHello World

执行命令解析:

以上我们使用了两个命令javac和java

javac后面跟着的是java文件的文件名,例如HelloWorld.java。 该命令用于将java源文件编译为class字节码文件,如: javac.HelloWorld.java。

运行javac命令后,如果成功编译没有错误的话,会出现一个HelloWorld.class的文件。

java后面跟着的是java文件中的类名,例如HelloWorld就是类名,如java HelloWorld。

注意:java命令后面不要加.class

JAVA简介

Java是由SUN公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称。

Java基础语法

一个Java程序可可以认为是一系列对象的集合,而这些对象通过彼此的方法来协同工作。下面简要介绍下类 ,对象,方法和实例变量的概念。

对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色,名字,品种,行为等

类:类是一个模板,它描述一类对象的行为和状态

方法:方法就是行为,一个类可以有很多方法,逻辑运算,数据修改以及所有动作都是在方法中完成的

实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。

 下面将逐步介绍如何保存,编译以及运行这个程序:

打开代码编辑器,把上面的代码添加进去;

把文件名保存为:HelloWorld.java

打开cmd命令窗口,进入目标文件所在的位置,假设是C:\

在命令行窗口输入javac.HelloWorld.java 按下回车编译代码。如果代码没有错误,cmd命令提示符会进入下一行(假设环境变量都设置好了)。

在键输入 java HelloWorld按下回车就可以运行程序了

你将会在窗口看到 Hello World

基本语法

编写Jav程序时,应该注意一下几点:

大小写敏感:Java大小写敏感的,这就意味着标识符Hello与hello是不同的。

类名:对于所有的类名来说, 类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如MyFirst

方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。

源文件名:源文件名必须和类名相同。当文件保存的时候,你应该使用类名作为文件名保存(切记Java是大小写铭感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。

主方法入口: 所有的Java程序由 public static void main (Srting [] args) 方法开始执行

JAVA标识符

Java所有的组成部分都需要名字。类名,变量名以及方法名都称为标识符。

关于Java标识符,有以下几点注意:

  • 所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始
  • 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合
  • 关键字不能用作标识符
  • 标识符是大小写敏感的
  • 合法标识符举例:age、$salary、_value、__1_value
  • 非法标识符举例:123abc、-salary

Java修饰符

像其他语言一样,Java可以使用修饰符来修饰类中方法和属性,主要有两类修饰符:

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

非访问控制修饰符: final, abstract,static,synchroized

Java变量

Java中主要有如下几种类型的变量

局部变量

类变量(静态变量)

成员变量(非静态变量)

Java数组

数组是储存在堆上的对象,可以保存多个同类型变量。在后面的章节中,我们将会学到如何申明,构造以及初始化一个数组。

Java枚举

Java 5.0引入了枚举,枚举限制变量只能是预先设定好的值。使用枚举可以减少代码中的bug。

例如,我们为果汁店设计一个程序,它将限制果汁为小杯、中杯、大杯。这就意味着它不允许顾客点除了这三种尺寸外的果汁。

class FreshJuice {enum FreshJuiceSize{ SMALL, MEDIUM , LARGE }FreshJuiceSize size;
}public class FreshJuiceTest {public static void main(String[] args){FreshJuice juice = new FreshJuice();juice.size = FreshJuice.FreshJuiceSize.MEDIUM  ;}
}

Java关键字

下面列出了Java关键字。这些保留字不能用于常量,变量,和任何标识符的名称。

 

Java注释

public class HelloWorld {/* 这是第一个Java程序* 它将输出 Hello World* 这是一个多行注释的示例*/public static void main(String[] args){// 这是单行注释的示例/* 这个也是单行注释的示例 */System.out.println("Hello World"); }
}

Java空行

空白行或者有注释的行,Java 编译器都会忽略掉。

继承

在 Java 中,一个类可以由其他类派生。如果你要创建一个类,而且已经存在一个类具有你所需要的属性或方法,那么你可以将新创建的类继承该类。

利用继承的方法,可以重用已存在类的方法和属性,而不用重写这些代码。被继承的类称为超类(super class),派生类称为子类(sub class)。

接口

在Java中,接口可理解为对象间相互通信的协议,接口在继承中扮演着很重要的角色。

接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类。

Java 对象和类

Java作为一种面向对象语言,支持以下基本概念

多态

继承

封装

抽象

对象

 

实例

方法

重载

本节我们重点研究对象和类的概念

对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为, 例如,一条狗是一个对象,它的状态有: 颜色,名字,品种,摇尾巴,叫,吃等。

类: 类是一个模板,它描述一类对象的行为和状态

创建对象

对象是根据类创建的。在Java中,使用关键字new来创建一个新的对象。创建对象需要以下三步:

public class Puppy{public Puppy(String name){//这个构造器仅有一个参数:nameSystem.out.println("小狗的名字是 : " + name ); }public static void main(String[] args){// 下面的语句将创建一个Puppy对象Puppy myPuppy = new Puppy( "tommy" );}
}

编译并运行上面的程序,会打印出下面的结果:

小狗的名字是 : tommy
 

访问实例变量和方法

/* 实例化对象 */
Object referenceVariable = new Constructor();
/* 访问类中的变量 */
referenceVariable.variableName;
/* 访问类中的方法 */
referenceVariable.methodName();

实例

public class Puppy{int puppyAge;public Puppy(String name){// 这个构造器仅有一个参数:nameSystem.out.println("小狗的名字是 : " + name ); }public void setAge( int age ){puppyAge = age;}public int getAge( ){System.out.println("小狗的年龄为 : " + puppyAge ); return puppyAge;}public static void main(String[] args){/* 创建对象 */Puppy myPuppy = new Puppy( "tommy" );/* 通过方法来设定age */myPuppy.setAge( 2 );/* 调用另一个方法获取age */myPuppy.getAge( );/*你也可以像下面这样访问成员变量 */System.out.println("变量值 : " + myPuppy.puppyAge ); }
}

编译并运行上面的程序,产生如下结果:

小狗的名字是 : tommy
小狗的年龄为 : 2
变量值 : 2
 

源文件声明规则

在本节的最后部分,我们将学习源文件的声明规则。当一个源文件中定义多个类,并且还有import和package语句时,要特别注意这些规则。

一个源文件中只能有一个public类

一个源文件可以有多个非public类 

源文件的名称应该和public的类名保持一致。例如:源文件中public的类名是Employee,那么源文件名为Employee.java。

类有若干种访问级别,并且类也分不同的类型:抽象类和 final 类等。这些将在访问控制章节介绍。

除了上面提到的几种类型,Java 还有一些特殊的类,如:内部类、匿名类

  • 如果一个类定义在某个包中,那么 package 语句应该在源文件的首行。
  • 如果源文件包含 import 语句,那么应该放在 package 语句和类定义之间。如果没有 package 语句,那么 import 语句应该在源文件中最前面。
  • import 语句和 package 语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。

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

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

相关文章

ARP协议原理与应用

ARP协议原理与应用 一、ARP协议概述1.1、场景描述1.2、ARP协议概述 二、ARP协议工作原理2.1、ARP工作流程2.2、ARP工作原理2.3、ARP缓存表 三、ARP协议分类3.1、免费ARP(Gratuitous ARP )3.2、代理ARP(Proxy ARP )3.3、RARP与IARP…

9.2.2Socket(TCP)

一.过程: 1.建立连接(不是握手),虽然内核中的连接有很多,但是在应用程序中,要一个一个处理. 2. 获取任务:使用ServerSocket.accept()方法,作用是把内核中的连接获取到应用程序中,这个过程类似于生产者消费者模型. 3. 使用缓冲的时候,注意全缓冲和行缓冲. 4.注意关闭文件资源…

使用 Postman 批量发送请求的最佳实践

目录 背景 批量发送? 起因 思考 Postman 批量发送接口 创建集合和接口 批量发送接口 资料获取方法 背景 最近写了几个接口: 获取 books 的接口获取 likes 的接口获取 collections 的接口 但是我还是不放心,因为这些接口到底稳不稳…

案例13 Spring MVC参数传递案例

基于Spring MVC实现HttpServletRequest、基本数据类型、Java Bean、数组、List、Map、JSON方式的参数传递。 1. 创建项目 选择Maven快速构建web项目&#xff0c;项目名称为case13-springmvc02。 2. 配置Maven依赖 <?xml version"1.0" encoding"UTF-8&quo…

WPF上位机9——Lambda和Linq

Lambda Linq 操作集合 使用类sql形式查询 Linq To SQL

分类预测 | MATLAB实现SMA-CNN-BiLSTM-Attention多输入分类预测

分类预测 | MATLAB实现SMA-CNN-BiLSTM-Attention多输入分类预测 目录 分类预测 | MATLAB实现SMA-CNN-BiLSTM-Attention多输入分类预测分类效果基本介绍模型描述程序设计参考资料 分类效果 基本介绍 1.MATLAB实现SMA-CNN-BiLSTM-Attention多输入分类预测&#xff0c;CNN-BiLSTM结…

unity新输入系统的简单使用(New InputSystem)

1、在包管理器 unity注册表中下载安装InputSystem 2、给玩家添加组件PlayerInput&#xff0c;点击CreatAction,创建一个InputAct InputAct,这是玩家的输入文件&#xff0c;在里面可以设置玩家输入 3、使用 例如玩家控制角色移动 在InputAct中&#xff0c;默认已经设置好了移…

基于 CentOS 7 构建 LVS-DR 群集 配置nginx负载均衡

环境配置&#xff1a; RHCE客户机192.168.100.146node1lvs192.168.100.145node2RS192.168.100.147node3RS192.168.100.148 配置ipvsadm httpd&#xff1a; [rootnode1 ~]# yum install ipvsadm.x86_64 [rootnode2 ~]# yum install http -y [rootnode2 ~]# systemctl …

日常BUG——Java使用Bigdecimal类型报错

&#x1f61c;作 者&#xff1a;是江迪呀✒️本文关键词&#xff1a;日常BUG、BUG、问题分析☀️每日 一言 &#xff1a;存在错误说明你在进步&#xff01; 一、问题描述 直接上代码&#xff1a; Test public void test22() throws ParseException {System.out.p…

本地oracle登录账号锁定处理,the account is locked

1.打开cmd命令窗口 2.打开sqlplus: sqlplus /nolog(加/nolog是不登录服务器的意思&#xff0c;不加就需要输账号密码) 3.切换到管理员&#xff1a;conn / as sysdba; 第2步第3步可以合并&#xff0c;直接使用sysdba登录&#xff1a;sqlplus / as sysdba; 4.解锁账号&#x…

C语言每日一题:16:数对。

思路一&#xff1a;基本思路 1.x,y均不大于n&#xff0c;就是小于等于n。 2.x%y大于等于k。 3.一般的思路使用双for循环去遍历每一对数。 代码实现&#xff1a; #include <stdio.h> int main() {int n 0;int k 0;//输入scanf("%d%d", &n, &k);int x…

AI:02-基于深度学习的动物图像检索算法的研究

文章目录 一、算法原理二、代码实现三、实验结果四、总结深度学习在计算机视觉领域中的应用越来越广泛,其中动物图像检索算法是一个重要的应用场景。本文将介绍一种基于深度学习的动物图像检索算法,并提供相应的代码实现。 一、算法原理 本算法采用卷积神经网络(Convolutio…