第二节:Java入门第一行代码
前言
大家好,今天带来Java入门第一行代码的概述,希望你们喜欢
第一行代码
学习Java基础课程,学会使用eclipse,eclipse为Java集成开发坏境IDE,创建第一个Java源文件代码:
public class HelloWorld{
public static void main(String[] args){
System.out.println("hello world");
}
}
要点:
- HelloWorld为类的名字
- public static void main(String[] args) 为主方法
- System.out.println("hello world")为打印输出,并在控制台显示 hello world
- public 为访问修饰符,表示公开的访问类
Java为面向对象的语法
- 什么是面向对象?
答:在Java中一切皆对象;可以理解为现实世界中的人,物,都可以看做为对象。
在一个Java的类中,该类可以为对象,那么类就是一个对象,一个对象就如人,它有方法和属性,即为动作和状态的特征。
//建立一个人的类
public class Person{
String name; //人具有姓名的属性
String age; //人具有年龄的属性
public void eat(){
System.out.println("人具有吃的方法");
}
}
变量的定义
什么是变量,即为可以变化的量,示例
int age = 12;
- 其中 int 为变量的数据类型,表示整数
- age 为变量
- “=” 为赋值操作符,把右边的值赋值给左边的变量
public class Person{
int age = 12;
public static void main(String[] args){
System.out.println(age);
}
}
介绍八种基本变量的类型
八种基本数据类型
- 整型 4种:byte(8位),short(16位),int(32位),long(64位)
- 字符型 1种:char(16位)
- 浮点型 2种:float(32位),double(64位)
- 布尔型 1种:boolean(1位)(true,false)
String类型(独立来讲,不是基本数据类型,为final修饰的)
String类型一旦被创建,就不能够被更改。字符串类型的表达效果,示例:String name = "Vic"
强制类型转换和自动类型转换
- 数据类型的转换
数据类型的理解:规则口诀
小到大自动,大到小强制,表示小杯子里的水可以倒入大杯子里,而大杯子里的水倒入小杯子里,会出现溢出。
/ 转换的数据类型比较 /
byte->short(char)->int->long->float->double
Java中的命名规范
如果有人问Java中的命名规范,你可以简单的说:英,数,$,_ ,(第一位不能为数字),不能为关键字。
成员变量和局部变量
声明在方法体外的变量为成员变量,声明在方法体内的变量为局部变量。
Final修饰符
上述表达final修饰的,为不可变得值,final可以修饰变量,修饰类,修饰方法。
- 被修饰的变量,只能被赋值一次
- 被修饰的类,不能被继承
- 被修饰的方法,不可被重写
Static关键字的理解
答:“ static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。” ---《Java编程思想》
static代码块,只会在类加载的时候执行一次。static变量不需要创建对象就可以引用。
静态成员变量可以通过对象访问,只要访问权限足够就可以。
静态代码块,随着类的加载而执行,只执行一次。
class StaticDemo{
static{
System.out.println("静态代码块");
}
void show(){
System.out.println("方法");
}
}
public class Test{
public static void main(String[] args){
new StaticDemo().show();
new StaticDemo().show();
}
}
//result
静态代码块
方法
方法
public class Test{
static{
System.out.println("静态");
}
public static void main(String[] args){
System.out.println("静态main");
}
}
//result 静态代码块优先于main函数执行
静态
静态main
class StaticDemo{
static{
System.out.println("parent静态代码块");
}
{
System.out.println("parent非静态代码块");
}
StaticDemo(){
System.out.println("parent构造方法");
}
public class Test extends StaticDemo{
static{
System.out.println("child静态");
}
{
System.out.println("child非静态");
}
Test(){
System.out.println("child构造方法");
}
public static void main(String[] args){
System.out.println("main");
new Test();
}
}
//result
parent静态代码块
child静态
main
parent非静态代码块
parent构造方法
child非静态
child构造方法
总结
- 本文讲了Java入门第一行代码,如果您还有更好地理解,欢迎沟通
- 定位:分享
Android&Java知识点,有兴趣可以继续关注
第二节:Java入门第一行代码的更多相关文章
- java入门第五步之数据库项目实战【转】
在真正进入代码编写前些进行一些工具的准备: 1.保证有一个可用的数据库,这里我用sql server 2000为例,2.拥有一个ide,如ecelise或myeclipse等,这里我使用的是myecl ...
- 转:java怎么用一行代码初始化ArrayList
java怎么用一行代码初始化ArrayList 您可以创建一个工厂方法: public static ArrayList<String> createArrayList(String .. ...
- Java如何用一行代码初始化ArrayList
参考链接: 1.Initialization of an ArrayList in one line 2.java怎么用一行代码初始化ArrayList
- java入门第三步之数据库连接
数据库连接可以说是学习web最基础的部分,也是非常重要的一部分,今天我们就来介绍下数据库的连接为下面学习真正的web打下基础 java中连接数据库一般有两种方式: 1.ODBC——Open Datab ...
- java入门第三步之数据库连接【转】
数据库连接可以说是学习web最基础的部分,也是非常重要的一部分,今天我们就来介绍下数据库的连接为下面学习真正的web打下基础 java中连接数据库一般有两种方式: 1.ODBC——Open Datab ...
- Java入门第37课——猜字母游戏之设计数据结构
问题 有猜字母游戏,其游戏规则为:程序随机产生5个按照一定顺序排列的字符作为猜测的结果,由玩家来猜测此字符串.玩家可以猜测多次,每猜测一次,则由系统提示结果.如果猜测的完全正确,则游戏结 ...
- Netty学习第二节Java IO通信
一.Java IO通信 名词解释: BIO通信: 采用BIO通信模型的服务端,通常由一个独立的Acceptor线程负责监听客户端连接,在接收到客户端请求后,为每一个客户端建立一个新的线程负 ...
- 第二节 java基本语法
在讲解之前首先避免不了的就是对一些枯燥的东西的描述,哈哈哈,学习就是这样的咯 1.注释:什么叫注释呢?就是帮助阅读的同学理解代码的说明,而开发工具不会去理会他.java的注释有哪些呢?主要分为3大类: ...
- Java入门第38课——猜字母游戏之设计程序结构
问题 本案例需要实现猜字母游戏程序中的程序结构 方案 分析猜字母游戏可以看出,程序首先需要随机产生5个不同的字母作为需要猜测的结果,因此,可以先定义一个方法,以实现此功能: ...
随机推荐
- 安装swoole
php需要安装swoole扩展 swoole4.3.2 cd /usr/local/src/ wget https://pecl.php.net/get/swoole-4.3.2.tgz tar -z ...
- Python之路(第三十一篇) 网络编程:简单的tcp套接字通信、粘包现象
一.简单的tcp套接字通信 套接字通信的一般流程 服务端 server = socket() #创建服务器套接字 server.bind() #把地址绑定到套接字,网络地址加端口 server.lis ...
- 4-2 requests库使用
打开自己的编辑器 创建一个py文件 这里是首先调用requests库 调用requests 最后打印出response
- Python3.7 Scrapy crawl 运行出错解决方法
安装的是Python3.7,装上依赖包和scrapy后运行爬虫命令出错 File "D:\Python37\lib\site-packages\scrapy\extensions\telne ...
- 异常:Caused by: java.sql.SQLException: Field 'cust_id' doesn't have a default value
异常: 由Java.q.L.SqLExpExt引起:字段“CuSTyID”没有默认值 Caused by: java.sql.SQLException: Field 'cust_id' doesn't ...
- XBee 802.15.4/Digimesh FAQs:如何为2.4G模块选择合适的信道
XBee 802.15.4模块和XBee Digimesh模块在硬件上完全相同,只是出厂带有不同固件,如果测试需要,这两个固件可以都可以互换烧入模块中. 如何为2.4G模块选择合适的信道 IEEE 8 ...
- 移动端各种滚动场景需求的插件better-scroll
移动端各种滚动场景需求的插件: 文档地址: better-scroll:https://ustbhuangyi.github.io/better-scroll/doc/zh-hans/#better- ...
- 使用ServletContextListener关闭Redisson连接
ServletContextListener 监听器 在 Servlet API 中有一个 ServletContextListener 接口,它能够监听 ServletContext 对象的生命周 ...
- promise和生成器的结合
if(Promise.wrap){ Promise.wrap = function(fn){ return function(){ var args = [].slice.call(arguments ...
- 学习Acegi应用到实际项目中(11)- 切换用户
在某些应用场合中,可能需要用到切换用户的功能,从而以另一用户的身份进行相关操作.这一点类似于在Linux系统中,用su命令切换到另一用户进行相关操作. 既然实际应用中有这种场合,那么我们就有必要对其进 ...