从0学java_从零开始学JAVA(一.Java的基础语法)

基本语法

编写 Java 程序时,应注意以下几点:

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

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

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

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

主方法入口:所有的 Java 程序由 public static void main(String []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, synchronized

在后面的章节中我们会深入讨论 Java 修饰符。

Java 变量

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

局部变量

类变量(静态变量)

成员变量(非静态变量)

Java 数组

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

Java 枚举

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

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

实例

classFreshJuice {enumFreshJuiceSize{ SMALL, MEDIUM , LARGE }

FreshJuiceSize size;

}public classFreshJuiceTest {public static voidmain(String []args){

FreshJuice juice= newFreshJuice();

juice.size=FreshJuice.FreshJuiceSize.MEDIUM ;

}

}

注意:枚举可以单独声明或者声明在类里面。方法、变量、构造函数也可以在枚举中定义。

Java 关键字

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

类别关键字说明

访问控制

private

私有的

protected

受保护的

public

公共的

类、方法和变量修饰符

abstract

声明抽象

class

extends

扩充,继承

final

最终值,不可改变的

implements

实现(接口)

interface

接口

native

本地,原生方法(非 Java 实现)

new

新,创建

static

静态

strictfp

严格,精准

synchronized

线程,同步

transient

短暂

volatile

易失

程序控制语句

break

跳出循环

case

定义一个值以供 switch 选择

continue

继续

default

默认

do

运行

else

否则

for

循环

if

如果

instanceof

实例

return

返回

switch

根据值选择执行

while

循环

错误处理

assert

断言表达式是否为真

catch

捕捉异常

finally

有没有异常都执行

throw

抛出一个异常对象

throws

声明一个异常可能被抛出

try

捕获异常

包相关

import

引入

package

基本类型

boolean

布尔型

byte

字节型

char

字符型

double

双精度浮点

float

单精度浮点

int

整型

long

长整型

short

短整型

变量引用

super

父类,超类

this

本类

void

无返回值

保留关键字

goto

是关键字,但不能使用

const

是关键字,但不能使用

null

Java注释

类似于 C/C++、Java 也支持单行以及多行注释。注释中的字符将被 Java 编译器忽略。

public classHelloWorld {/*这是第一个Java程序

*它将打印Hello World

* 这是一个多行注释的示例*/

public static voidmain(String []args){//这是单行注释的示例

/*这个也是单行注释的示例*/System.out.println("Hello World");

}

}

Java 空行

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

继承

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

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

接口

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

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

Java 源程序与编译型运行区别

如下图所示:

9e578c8b7beb4eb69d45c60ec408e495.png

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

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

相关文章

linux mount (挂载命令)详解

挂接命令(mount) 首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的。 命令格式:mount [-t vfstype] [-o options] device dir 其中: 1.-t vfstype 指定文件系统的类型&…

Android官方培训课程中文版(v0.9.5)

http://hukai.me/android-training-course-in-chinese/index.html转载于:https://www.cnblogs.com/xiaoyao095/p/6125715.html

使用SaxParser和完整代码进行XML解析

SAX解析器使用回调函数(org.xml.sax.helpers.DefaultHandler)通知客户端XML文档结构。 您应该扩展DefaultHandler并重写一些方法来实现xml解析。 覆盖的方法是 startDocument()和endDocument()–在XML文档…

mysql添加字符串日期时间_mysql学习笔记--- 字符串函数、日期时间函数

一、常见字符串函数:1、CHAR_LENGTH 获取长度(字符为单位)2、FORMAT 格式化3、INSERT 替换的方式插入4、INSTR 获取位置5、LEFT/RIGHT 取左、取右6、LENGTH 获取长度(字节为单位)7、LTRIM/RTRIM/TRIM 去空格(左/右/自定义)8、STRCMP 字符串比较9、CONCAT 字…

Android异常和工具使用笔记

Android异常和工具使用笔记 1、r文件找不到去你的工程目录下,手动的把gen删掉,然后去project中刷新一下,在编译看看。以前遇到过类似的问题,实在不行就把你的eclispe,adt升级到最新的版本吧 抓住那么一点点线索,就要去…

ADO.NET 核心对象简介

ADO.NET ADO.NET是.NET中一组用于和数据源进行交互的面向对象类库,提供了数据访问的高层接口。 ADO.NET类库在System.Data命名空间内,根据我们访问的不同数据库选择命名空间,System.Data.SqlClient。 ADO.NET类最重要的优点是支持数据库以断开…

MongoDB与Spring Data项目

如今,我们所有人都在观察NoSql解决方案的爆炸式增长。 我已经习惯了RDBMS,但这些并不是您可能遇到的所有挑战的解决方案。 根据最近的经验,我有机会使用MongoDB –文档数据库。 在本文中,我打算介绍将MongoDB与Spring Data项目一起…

java转换为字符串_java – 如何从int转换为字符串?

正常方式是Integer.toString(i)或String.valueOf(i)。串联将工作,但它是非常规的,可能是一个难闻的气味,因为它暗示作者不知道上述两种方法(他们不知道什么?)。Java在使用字符串(见the documentation)时对操作符提供了特殊的支持&…

简学LINGO(三)——实例篇

1. 装配线平衡模型 一个装配线含有一系列的工作站。在终于产品的加工过程中每一个工作站运行一种或者是几种特定的任务。装配线周期是指全部工作站完毕分配给他们各自任务所花费时间的最大值。平衡装配线的目标是为每一个工作站分配加工任务。尽可能使每一个工作站运行同样数量…

Hibernate缓存级别教程

开始使用Hibernate的人们常见的问题之一就是性能,如果您没有太多的Hibernate经验,您会发现应用程序变慢的速度。 如果启用sql跟踪,您将看到有多少查询被发送到数据库,而这些查询几乎不需要Hibernate知识就可以避免。 在当前文章中…

java方法执行的时间_计算Java中任意一个方法的执行时间的工具类

1 packagealgorithm.study.utils;23 importjava.lang.reflect.Method;45 /**6 * This class is getting a method execute time and provide some other functions.7 *8 *authorygh 2017年2月24日9 */10 public classMethodExecuteTimeUtils {1112 /**13 * Get a method execut…

如何在 IIS 中设置 HTTPS 服务

Windows Server2008、IIS7启用CA认证及证书制作完整过程 这篇文章介绍了如何安装证书申请工具; 如何在iis创建证书申请; 如何使用iis申请证书生成的txt文件,在工具中开始申请证书; 如何导出证书; 以及在网站中开始使用…

Android之卫星菜单的实现

卫星菜单是现在一个非常受欢迎的“控件”,很多Android程序员都趋之若鹜,预览如下图。传统的卫星菜单是用Animation实现的,需要大量的代码,而且算法极多,一不小心就要通宵Debug。本帖贴出用属性动画Animator来实现卫星菜…

Java中的WADL:温和的介绍

WADL( Web应用程序描述语言 )对REST而言,WSDL对SOAP而言。 这种语言的仅仅存在引起了很多争议(请参阅: 我们需要WADL吗? 或者 需要 WADL还是不需要WADL )。 我可以想到使用WADL的一些合法用例&a…

类成员函数模板特化

//类成员函数模板特化 #include <stdio.h> class A{ public:template <class T>void Print(){printf("A template\n");} };template<> void A::Print<int>(){printf("int\n"); }int main(){A a;a.Print<double>();a.Print&l…

为云量身定制您的服务

相信大家都听说过Amazon的AWS。作为业内最为成熟的云服务提供商&#xff0c;其运行规模&#xff0c;稳定性&#xff0c;安全性都已经经过了市场的考验。时至今日&#xff0c;越来越多的应用被部署在了AWS之上。这其中不乏Zynga及Netflix这样著名的服务。 然而这一切并没有停滞不…

在Vaadin和JSF之间选择

随着最新版本的Primefaces 3.0的发布&#xff0c;JSF终于达到了前所未有的成熟度和实用性&#xff0c;使其与其他流行的Rich Internet Applications&#xff08;RIA&#xff09;选项如Google Web Toolkit&#xff08;GWT&#xff09;&#xff0c;ExtJS&#xff0c;Vaadin&#…

20145202马超《信息安全系统设计基础》实验二总结

[实验二]&#xff08;http://www.cnblogs.com/nizaikanwoma/p/6131778.html&#xff09; 转载于:https://www.cnblogs.com/tuolemi/p/6131987.html

java 连接ldap_ldap java 连接demo

public class LDAPHelper {/*** LDAP可以理解为一个多级目录&#xff0c;这里&#xff0c;表示要连接到那个具体的目录*/private final String baseDn "ouPeople,dcchangyeyi,dccom";private LdapContext ctx null;private final Control[] connCtls null;private…

flask开发restful api系列(1)

在此之前&#xff0c;向大家说明的是&#xff0c;我们整个框架用的是flask sqlalchemy redis。如果没有开发过web&#xff0c;还是先去学习一下&#xff0c;这边只是介绍如果从开发web转换到开发移动端。如果flask还不是很熟悉&#xff0c;我建议先到这个网站简单学习一下&am…