当前位置: 首页 > news >正文

Day1 Java编程环境和变量

什么是软件?

软件的基本组成部分是完成其功能的程序。

在日程生活中,可以将程序看成对一系列动作的执行过程的描述。

什么是计算机程序?

为了让计算机执行某些操作或解决某个问题二编写的一系列有序指令的集合。

为什么选java?

【1】大多数公司都用

【2】跨平台

Java发展史

【1】1991,SUN公司OAK(橡树)

【2】1995,开发出了HotJava,并正式退出了JAVA。

【3】1996,sun发布了JDK1.0

【4】1998,发布了java历史上最重要的一个JDK版本JDK1.2

【5】2009,甲骨文公司宣布收购sun

Java语言的特点

【1】可移植性:与平台无关的特性使java程序可以方便的被移植到网络上

【2】垃圾回收:java自动内存释放,自动内存管理的一种说法。

  • 什么情况回收?:内存不足了
  • 回收的方法?:System.gc()

JDK、JRE和JVM

JDK:Java development kit  java开发工具包

    JRE+工具+类库

JRE:java runtime environment Java运行时环境

    JVM+类库

JVM:Java virtual machine   Java虚拟机,运行Java程序

 

DOS命令

打开方式

【1】win+r  cmd

【2】程序--附件--命令提示符

命令

【1】切换盘符

  d: e: f:

【2】查看文件目录清单

  dir

  dir /s 查看所有目录和子目录下的文件目录清单

  dir /p/s 分屏显示

【3】改变当前目录

  cd 目录

  cd ..返回上一级

  cd / 返回根目录

【4】查看某个命令的帮助

  help dir

【5】新建文件夹

  md 目录名

【6】新建文件

  copy con 文件名.带扩展名

  内容

  Ctrl+z 结束

【7】查看文件内容

  type 文件名.扩展名

【8】复制文件

  copy 源文件目录 目标文件目录

【9】重命名文件

  ren 原文件名 新文件名

【10】剪切文件

  move 源文件目录 目标文件目录

【11】删除目录

  rd 目录名  但是只能删除空的目录

【12】删除文件

  del 文件名.扩展名  只能删除一个文件

  del *.*  删除当前目录下所有的文件

【13】清屏

  cls

【14】退出

  exit

环境变量

临时配置

在DOS窗口输入以下

  • 变量名:Path

  • 变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

  • 目的:配置path的目的是在任意路径下都可以执行java,javac命令。

  • 变量名:JAVA_HOME

  • 变量值:C:\Program Files\Java\jdk1.8.0_151(这里是你JDK的安装路径,可以更换)

  • 目的:为了简化path的配置
  • 变量名:CLASSPATH

  • 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

  • 目的:配置classpath的目的是为了在任意路径下都可以执行.class文件。所谓的classpath指定的是.class文件所在的位置。

  • classpath不配置的时候,java命令会在当前目录下进行查找.class文件,如果找不到,会报以下错误

  •  

  • 如果设置了classpath,那么会从classpath指定的路径去寻找.class。如果classpath的值后面不加分号:查找的是classpath指定的路径下是否有.class文件。如果加了分号,先查询classpath指定的路径,再查找当前目录下是否有.class文件。

  • 注意:通常配置classpath会以.;开头,表示查询的是当前路径。

永久配置

我的电脑---->右键---->环境变量---->配置

 在"系统变量"中设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击"编辑",不存在则点击"新建"。

 

 第一个java程序

//class时java程序中的一个关键字,用于定义类,这个词在写代码时不能用来做其他的事情,只能用来定义类
//HelloWorld 时程序的类名。类名可以自定义。建议使用英语。注意首字母大写。
//所有的java程序都是写在类中。后面的大括号用于表示该类的范围。
class HelloWorld{
    //表示一个main方法。是程序的入口。程序入口:表示所有的代码执行该从方法开始。
    //args可以改变为其他名称,也可以是String args[]
    public static void main(String[] args){
        //表示程序的输出,双引号中的内容可以改变。
        System.out.println("Hello World!");
    }
}

 

注意:

【1】java严格区分大小写

【2】关键字都小写

【3】符号英文半角

【4】代码要有缩进,一个tab键

【5】语句结束用分号

【6】每行最好写一句代码

【7】大括号成对出现

Java的编写流程

编写源文件---->通过javac命令编译源文件---->通过Java命令执行字节码文件。

javac编译时需要跟上后缀.java,而java命令后直接跟文件即可,不需要后缀。

javac Hello.java

java Hello

JVM工作原理

 控制台打印输出

//输出并且换行
System.out.println("字符串");//1.普通字符:原样输出 2.转义字符 //输出不换行 System.out.print()

 Java中转义序列和进制转换

转义序列

【1】八进制转义  \000 -\377

【2】十六进制转义  \u0000-\uffff

【3】转义字符    \n  \t  \\  \'  \"

 进制转换

二进制  0,1

八进制  0-7

十进制  0-9

十六进制  0-9 a-f

 

变量

通常,根据内存地址可以找到这块内存空间的位置,也就找到了存储的数据。但是内存地址非常不好记,因此,我们给这块空间起一个别名,通过使用别名找到对应空间存储的数据。变量是一个数据存储空间的表示。通过变量名可以简单快速地找到它存储的数据。变量是存储数据的一个基本单元,不同的变量相互独立。

标识符的命名规则

1.由字母,数字,下划线_,$符组成。

2.不能以数字开头。

3.不能是java的关键字

4.不能是字面量true,false,null。

标识符的命名规范

变量规范:骆驼命名法

多个单词组成,第一个单词首字母小写,后边单词首字母大写。

注意:

1.变量必须先声明后使用

2.同一个作用域内,不能声明同名的变量

3.局部变量必须赋值后才能使用。

注释

1.单行注释

2.多行注释

3.文档注释

注意:转义字符处理的时间早于注释处理的时间,注释里面的转义字符一定要正确。

文档注释生成命令

javadoc 选项 文件
//命令 选项 文件
javadoc -private -d doc -author -version Demo4.java

选项:

-private //表示任何级别访问权限的成员的文档注释都能被识别,如:public protected 默认 private
-package //表示 public protected 默认的被识别
-protected //表示 public protected被识别
-public //表示public的被识别
-d 目录名 //表示 生成的帮助文档所在的目录,自动生成
-author //识别生成 @author的注释
-version //识别生成 @version的注释

  

 

转载于:https://www.cnblogs.com/qingyunzong/p/8026453.html

相关文章:

  • Python中求1到20平方的两种方法
  • Go语言之讲解GOROOT、GOPATH、GOBIN
  • 评论列表显示及排序,个人中心显示
  • jQuery效果之jQuery Color animation 色彩动画扩展
  • Qt---自定义界面之QStyle
  • 再学习之Spring(面向切面编程).
  • java:解决eclipse配置Tomcat时找不到server选项
  • Qt532.QSettings_默认分隔符
  • python 高阶函数三 filter()和sorted()
  • bzoj1036[ZJOI2008]树的统计Count 树链剖分+线段树
  • 自然语言处理入门学习(一)
  • 文件和目录权限chmod 更改所有者和所属组chown umask 隐藏权限lsattr/chattr
  • 面向对象java知识汇总题
  • PAT 1023.组个最小数
  • mongodb for windows安装
  • Bytom交易说明(账户管理模式)
  • CentOS7 安装JDK
  • dva中组件的懒加载
  • mysql常用命令汇总
  • storm drpc实例
  • unity如何实现一个固定宽度的orthagraphic相机
  • Yii源码解读-服务定位器(Service Locator)
  • 第2章 网络文档
  • 仿天猫超市收藏抛物线动画工具库
  • 关于字符编码你应该知道的事情
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 小而合理的前端理论:rscss和rsjs
  • 新版博客前端前瞻
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #pragma pack(1)
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (+4)2.2UML建模图
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (三)终结任务
  • (转载)OpenStack Hacker养成指南
  • ***原理与防范
  • 、写入Shellcode到注册表上线
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .net MySql
  • .NET 常见的偏门问题
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .NET 依赖注入和配置系统
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .Net6 Api Swagger配置
  • .py文件应该怎样打开?
  • 。Net下Windows服务程序开发疑惑
  • @Builder用法
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka
  • @Transient注解
  • @value 静态变量_Python彻底搞懂:变量、对象、赋值、引用、拷贝
  • [20190113]四校联考
  • [AIGC] 开源流程引擎哪个好,如何选型?