Java入门 —— 打开Java世界的大门

news2024/10/5 15:33:10

目录

一. 了解Java

二.Java入门

三.变量


一. 了解Java

1.什么是程序

        ——计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合

2.Java是如何诞生的

        ——1990年,sun公司启动了绿色计划,1992年sun公司创建了oak语言,后改名为Java,1994年,gosling参加硅谷大会演示Java功能,震惊了世界,1995年,sun公式正式发布了Java的第一个版本,2009年,甲骨文公司收购了sun公司,2011年,甲骨文公司发布了Java7……

3.Java技术体系平台

        1)JavaSE(Java Standard Edition)标准版

                ——支持面向桌面级的应用(如Windows下的应用程序)的Java平台,提供完整的Java核心API

        2)JavaEE(Java Enterprise Edition)企业版

                ——为开发企业环境下的应用程序提供的一套解决方案,该技术体系中包含的技术如:Servlet、Jsp等,主要针对于Web应用程序开发

        3)JavaME(Java Micro Edition)小型版

                ——支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入对移动终端的支持

4.Java的特点

        1)Java语言是面向对象的(oop)

        2)Java语言是健壮的,Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证

        3)Java语言是跨平台性的

                ——一次编译,到处运行

        4)Java语言是解释型的

                i.解释性语言:编译后的代码,不能直接被机器执行,需要解释器来执行(JavaScript、Java)

                ii.编译性语言:编译后的代码,可以直接被机器执行(C语言、C++)

5.Java的核心机制 - Java虚拟机(JVM:Java Virtual Machine)

        1)JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域

        2)JDK负责执行命令、管理数据、内存、寄存器

        3)对于不同的平台,有不同的虚拟机

        4)Java虚拟机屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”

6.JDK、JRE的关系【面试题】

        1)JDK(Java Development Kit):Java开发工具包

                —— JDK = JRE + Java的开发工具

        2)JRE(Java Runtime Environment):Java运行环境

                —— JRE = JVM + Java的核心类库

        3)JDK的下载路径:Java Downloads | Oracle 中国Java Downloads | Oracle 中国Java Downloads | Oracle 中国

7.配置环境变量

        ——在window的设置中,打开系统,点击系统信息,然后点击高级系统设置,再点击环境变量,然后点击新建,把你安装好的JDK的路径,复制到相应的值里面

        如下图:

 

 

 

 

 

 注:这个path和你的系统变量应该处于同一位置,不要一个上一个下

 然后在命令行模式,输出相应的java、javac看看版本号是否和自己安装的版本号一样,若是一样,则环境配置成功!!!

二.Java入门

1.一个小case了解Java的基本框架

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

/*
1.public class Test: 表示Test是一个类,是公开(public)的类
public class Test {}: 表示类的开始和结束

2.public static void main(String[] args): 表示一个主方法,即程序的入口,程序从这个地方开始执行

3.System.out.println(): 输出语句
  System.out.println("Hello World!");//输出Hello World!
  ;(分号)表示语句结束
 */

2.程序的运行原理

                编译(javac)                         运行(java)

Test.java ---------------> Test.class ------------------> 结果

3.一个源文件中最多只能有一个public类,其他类的个数不限,也可以将main方法写到非public类中

public class Test {
    public static void main(String[] args) {
        //一个源文件中最多只能有一个public类,其他类的个数不限,也可以将main方法写到非public类中
    }
}

//错误,一个源文件中只能有一个public类
//public class Animal { }

//可以将main方法写到非public类中
class Animal {
    public static void main(String[] args) {
    }
}

4.Java代码编写的细节说明

1)Java源文件以.java为扩展名,源文件的基本组成是类

2)Java应用程序的执行入口是main()方法,它的形式为:public static void main(String[] args){}

3)Java语言区分大小写

4)Java语言由许多语句构成,每个语句以;结束

5)大括号{}都是成对出现的,缺一不可

//Java源文件以.java为扩展名,源文件的基本组成是类
public class Test {
    //Java应用程序的执行入口是main()方法,它的形式为:public static void main(String[] args]{}
    public static void main(String[] args) {
        
        //Java语言区分大小写
        //以下是三个不同的变量
        int num = 0;
        int Num = 0;
        int NUM = 10;
        
        //Java语言由许多语句构成,每个语句以;结束
        int a = 10;//一条语句,以;结束
        
        //大括号{}都是成对出现的,缺一不可
    }
}

6)一个源文件最多只能有一个public类,其他类的个数不限

7)如果一个源文件包含一个public类,则文件名必须按该类名命名

//如果一个源文件包含一个public类,则文件名必须按该类名(Test)命名
public class Test {
    public static void main(String[] args) {        
    }
}

//不能为public类,一个源文件最多只能有一个public类,其他类的个数不限
//public class Person { }

8)一个源文件中最多只能有一个public类,其他类的个数不限,也可以将main方法写在非public类中,然后指定运行在非public类,这样入口方法就是非public类的main方法

public class Test { }

//一个源文件中最多只能有一个public类,其他类的个数不限
class Person{
    //可以将main方法写在非public类中,然后指定运行在非public类,这样入口方法就是非public类的main方法
    public static void main(String[] args) {        
    }
}

class Animal{}

5.Java中常用的转义字符

\t :制表位,实现对齐的功能

\n:换行符

\\ :一个\

\" :一个"

\' :一个'

\r :一个回车

public class Test {
    public static void main(String[] args) {
        //\t :制表位,实现对齐的功能
        System.out.println("I\thave\tbeen\there");//I  have   been   here
        //\n:换行符
        System.out.println("I am here\n");//I am here
        //\\ :一个\
        System.out.println('\\');//输出\
        //\" :一个"
        System.out.println("\"");//输出"
        //\' :一个'
        System.out.println('\'');//输出'
        //\r :一个回车
        System.out.println("remember\rlove");//输出love
    }
}

6.注释 

        1)注释类型

单行注释://【常用于单行代码注解】

多行注释:/* */【常用于对一块代码进行注解】

文档注释:/** */【常对于类和方法的注解】

public class Test {
    public static void main(String[] args) {
        //单行注释://
        //System.out.println("hello");
        
        //多行注释:/*   */
        /*
        int a = 10;
        int b = 40;
        int c = 50;
         */
    }

    //文档注释:/**  */
    /**
     * 打印
     */
    public static void print() {
        System.out.println("haha");
    }
}

        2)注释的特点

i.被注释的文字,不会被JVM(Java虚拟机)解释执行

ii.多行注释里面不允许有多行注释嵌套

public class Test {
    public static void main(String[] args) {
        //多行注释里面不允许有多行注释嵌套
        /*
        /*
        错误,不能嵌套注释
         */
         */
    }
}

7.Java代码规范

1)类、方法的注释,要使用文档注释的方式写

2)使用tab键,实现缩进,默认整体向右边移动,想要向左边移动使用shift+tab向左移动

3)在使用各运算符的时候,在两边都加上一个空格

int a = 10;//=号两边需要加上一个空格

4)源文件使用utf-8编码方式

5)行宽不要超过80字符

6)代码编写风格有次行风格和行尾风格(推荐)

public class Test {
    public static void main(String[] args) {
        //代码编写风格有次行风格和行尾风格(推荐)
        //1.次行风格
        while(a < 20)
        {
        }
        //2.行尾风格(推荐)
        while(true) {
        }
    }
}

三.变量

1.一个程序就是一个世界

2.变量是程序的基本组成单位

变量三要素:数据类型 + 变量名 = 值;

public class Test {
    public static void main(String[] args) {
        //变量是程序的基本组成单位
        //变量三要素:数据类型 + 变量名 = 值;
        int num = 10;//数据类型:int 变量名:num 值:10
        double data = 20.13;//数据类型:double 变量名:data 值:20.13
        char ch = 'h';//数据类型:char 变量名:ch 值:'h'
    }
}

3.变量的概念

        ——申请了一个变量,相当于变量在内存中申请了一定的空间大小

4.变量的使用步骤

        1)声明变量

int num;//声明了一个变量num,num向内存申请了一个int的空间

        2)赋值

int num;

num = 10;//把10储存在num所占的空间

        3)声明并赋值

int num = 10;//声明了一个变量num,num向内存申请了一个int的空间,把10储存在num所占的空间

5.一个小case快速了解变量

public class Test {
    public static void main(String[] args) {
        int num = 10;//声明并初始化:在内存中申请了一个int的空间存储了10
        char ch = 'a';//声明并初始化:在内存中申请了一个char的空间存储了'a'
        double data = 1.314;//声明并初始化:在内存中申请了一个double的空间存储了1.314

        System.out.println(num);//10
        System.out.println(ch);//a
        System.out.println(data);//1.314
    }
}

6.变量的细节讨论

        1)变量表示内存中的一个存储区域,变量的数据类型不同,占用的空间大小也不同

byte:一个字节(1byte)

char:两个字节(2byte)

short:两个字节(2byte)

int:四个字节(4byte)

long:八个字节(8byte)

float:四个字节(4byte)

double:八个字节(8byte)

boolean:一个字节(1byte)

        2)变量必须先声明,后使用

int a; //声明

a = 10;//使用

//b = 10;//错误,声明在前,使用在后

//int b;

        3)变量的值可以不断的变化

        4)变量在同一个作用域{}内不能重名

public class Test {
    public static void main(String[] args) {
        int num = 10;//声明并初始化:在内存中申请了一个int的空间存储了10

        //变量的值可以不断的变化
        num = 20;
        num = 30;
        num = 40;
        
        //int num = 50;//错误,在同一个作用域{}内,不能申请两个变量名相同的变量
        System.out.println(num);//40
    }
}

        5)变量三要素:数据类型 变量名 = 值;

public class Test {
    public static void main(String[] args) {
        //变量三要素:数据类型 变量名 = 值;
        int data = 10;//数据类型:int  变量名:data  值:10
        System.out.println(data);//10
    }
}

        6)如何查看变量所占的内存空间? —— 使用各个类型的封装类型

        

public class Test {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //需要找到各个类型的封装类型
        int a=Byte.SIZE;
        int b=Short.SIZE;
        int c=Integer.SIZE;
        int d=Long.SIZE;
        int e=Float.SIZE;
        int f=Double.SIZE;
        int g=Character.SIZE;

        System.out.println("byte型的占用空间--"+a/8+"byte--");
        System.out.println("short型的占用空间--"+b/8+"bytes--");
        System.out.println("int型的占用空间--"+c/8+"bytes--");
        System.out.println("long型的占用空间--"+d/8+"bytes--");
        System.out.println("float型的占用空间--"+e/8+"bytes--");
        System.out.println("double型的占用空间--"+f/8+"bytes--");
        System.out.println("char型的占用空间--"+g/8+"bytes--");
    }
}

7.程序中+号的作用

1)当+号左右两边都是数值的时候,就是简单的基本加法运算

2)当+号的两边有一边为字符串的时候,则做拼接运算,运算顺序为,从左到右

public class Test {
    public static void main(String[] args) {
        //1)当+号左右两边都是数值的时候,就是简单的基本加法运算
        System.out.println(100 + 98);//198

        //2)当+号的两边有一边为字符串的时候,则做拼接运算,运算顺序为,从左到右
        System.out.println("100" + 98); //10098
        System.out.println(100 + 3 + "bro");//103bro
        System.out.println("bro" + 100 + 3);//bro1003
    }
}

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

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

相关文章

Vue.js中的两大指令:v-on和v-bind,实现页面动态渲染和事件响应

Vue.js中的两大指令&#xff1a;v-on和v-bind&#xff0c;实现页面动态渲染和事件响应 一、Vue指令&#xff08;一&#xff09;v-bind指令&#xff08;二&#xff09;v-on指令1. 基本使用&#xff08;1&#xff09;最基本的语法 2. Vue中获取事件对象(了解)3. v-on 事件修饰符4…

Vue 利用Canvas标签实现动态验证码校验(前端必备附源码)

文章目录 一、前言二、Canvas简介- 什么是Canvas?- Canvas的基本使用 三、动态验证码的具体实现- 在项目中创建 SIdentify.vue 文件- 再创建要使用该组件的文件&#xff0c;App.vue 一、前言 当我们在平时进行登录或者注册账号的时候&#xff0c;往往都会遇到验证动态验证码的…

高级网工必会组网方案,你pick哪一种?

企业组网非常考验网工的内功&#xff0c;选择何种组网方案、合适的网关位置、如何保证网关可靠性等等一系列问题&#xff0c;每个环节都考验网工的理论功底和实操经验。 大型企业如大型医院、银行、省市县政府单位、电厂、汽车行业等&#xff0c;网络的稳定性&#xff0c;往往…

JUC高级-0608

重新看JUC课程&#xff0c;选择周阳讲的JUC 1.前置知识 lombok插件 Lombok是一个Java库&#xff0c;它通过注解的方式&#xff0c;能够在编译时自动为类生成构造函数、getters、setters、equals、hashCode和toString方法&#xff0c;以及其他常用方法&#xff0c;从而使我们…

Monocle3个性化分析作图:拟时热图/拟时基因GO分析/拟时基因趋势分析

Mnocle3往期精彩内容&#xff0c;因为monocle2有问题&#xff0c;且官网也放弃了monocle2&#xff0c;目前用的比较主流的拟时方法就是monocle3了。Mnocle3我们也写过全面的内容&#xff0c;不论是基础的分析还是个性化分析&#xff1a;Monocle3&#xff08;1&#xff09;&…

【C#】并行编程实战:并行编程简介

本章内容为多线程编程入门知识&#xff0c;旨在介绍多线程的特点&#xff0c;以及提供了C#部分基础的多线程API使用。 1、进程与线程 这一小节包含大量概念和基础知识&#xff0c;虽然建议阅读但确实比较枯燥。 可以直接跳到后面的实际应用的章节。 进程 狭义定义&#xff1a;正…

2.数据表的基本操作

SQL句子中语法格式提示&#xff1a; 1.中括号&#xff08;[]&#xff09;中的内容为可选项&#xff1b; 2.[&#xff0c;...]表示&#xff0c;前面的内容可重复&#xff1b; 3.大括号&#xff08;{}&#xff09;和竖线&#xff08;|&#xff09;表示选择项&#xff0c;在选择…

思科(Cisco)7000交换机软件版本升级步骤

思科&#xff08;Cisco&#xff09;交换机软件版本升级步骤 一、准备软件版本 在思科官方网站&#xff08;思科官网传送门&#xff09;下载你需要的系统版本文件&#xff0c;将软件版本准备好拷贝到U盘。 二、准备设备 将交换机加电启动&#xff0c;通过CRT- console进行连接…

使用JMeter进行接口高并发测试

一般的网络接口测试&#xff0c;功能性测试postman较为好用&#xff0c;需要测试高并发的情况下&#xff0c;可以用Jmeter来进行测试&#xff0c;postman是串行&#xff0c;而Jmeter可以多线程并行测试。 官网 Apache JMeter - Apache JMeter™正在上传…重新上传取消https://j…

100个句子记3500个单词

Typical of the grassland dwellers of the continent is the American antelope, or pronghorn. [ˈtɪpɪkl]典型[ˈɡrɑːslnd]草原[dweləz]居民[ˈkɒntɪnənt]大陆 [ˈntɪləʊp] [prɒŋhɔːn] 1.美洲羚羊&#xff0c;或称叉角羚&#xff0c;是该大陆典型的草原动物…

Gradle版本目录(Version Catalog)

Gradle版本目录(Version Catalog) “版本目录是一份依赖项列表&#xff0c;以依赖坐标表示&#xff0c;用户在构建脚本中声明依赖项时可以从中选择。” 我们可以使用版本目录将所有依赖项声明及其版本号保存在单个位置。这样&#xff0c;我们可以轻松地在模块和项目之间共享依…

react-useId

// App.tsx const id Math.random();export default function App() {return <div id{id}>Hello</div> }如果应用是CSR&#xff08;客户端渲染&#xff09;&#xff0c;id是稳定的&#xff0c;App组件没有问题。 但如果应用是SSR&#xff08;服务端渲染&#xff…

Spring Boot 属性配置解析

基于Spring Boot 3.1.0 系列文章 Spring Boot 源码阅读初始化环境搭建Spring Boot 框架整体启动流程详解Spring Boot 系统初始化器详解Spring Boot 监听器详解Spring Boot banner详解 属性配置介绍 Spring Boot 3.1.0 支持的属性配置方式与2.x版本没有什么变动&#xff0c;按照…

充电桩计量装置TK4800充电机(桩)现场校验仪检定装置

支持同时开展直流充电机现场校验仪和交流充电桩现场校验仪的检定工作&#xff0c;提高检定效率。 专用检定枪线&#xff1a;配有国标直流充电枪线及国标交流充电枪线&#xff0c;可直接接至交直流充电桩&#xff08;机&#xff09;现场校验仪开展检定工作&#xff0c;无需额外…

JMeter从数据库中获取数据并作为变量使用

目录 前言 1、JMeter连接MySQL数据库 2、线程组下新建一个 JDBC Connection Configuration 配置元件 3、实现数据库的查询-单值引用 4、实现数据库的查询-多值引用 总结&#xff1a; 前言 JMeter如何从数据库中获取数据并作为变量使用&#xff1f;这在我们使用JMeter做接…

企业转型在搭建BI时,需要注意什么

如今&#xff0c;商业智能BI在全世界范围内掀起了一股热潮&#xff0c;形成了一个庞大的市场&#xff0c;在信息化时代&#xff0c;企业需要借助BI来进行更好的成长。 在这种全新的社会、商业BI环境下&#xff0c;各行各业的企业都开始寻求探索新的商业模式&#xff0c;通过转…

Vue基本概念、vue-cli和插值表达式的快速使用

一、vue基本概念 &#xff08;一&#xff09;vue介绍 Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套用于构建用户界面的渐进式javascript框架。 1. 渐进式的概念 渐进式&#xff1a;逐渐增强&#xff0c;可以在项目中使用vue的一部分功能&#xff0c;也可以使用vue的全…

网络安全实战植入后门程序

在 VMware 上建立两个虚拟机&#xff1a;win7 和 kali。 Kali&#xff1a;它是 Linux 发行版的操作系统&#xff0c;它拥有超过 300 个渗透测试工具&#xff0c;就不用自己再去找安装包&#xff0c;去安装到我们自己的电脑上了&#xff0c;毕竟自己从网上找到&#xff0c;也不…

GitHub 上“千金难求”!啃完这两本书,Spring在你面前便没有秘密

前言 Spring对Java程序员的重要性相信懂的都懂&#xff0c;夸张点甚至可以说是Spring成就了Java。 为什么说要啃这两本书。前者告诉你怎么用Spring&#xff0c;后者给你简单展示如何用的同时&#xff0c;还告诉你Spring是怎么实现的两者一起&#xff0c;让你知其然并知其所以…

在字节打酱油6年,被淘汰?太真实了...

涛子哥普通本科计算机专业毕业&#xff0c;目前在字节&#xff0c;部门是视频云中台。现在比较稳定&#xff0c;生活也算美满&#xff0c;算是个资深的打酱油高手&#xff0c;在字节也有6、7年左右的划水经验了。 刚好划水的时候在某乎上看到了一个问题&#xff1a;“软件测试会…