返回顶部
首页 > 资讯 > 后端开发 > Python >java基础的详细了解第一天
  • 256
分享到

java基础的详细了解第一天

2024-04-02 19:04:59 256人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录1、Java主要特点2、计算机的高级汇编语言类型:3、JVM(Java Visual Machine)4、编写第一个Java程序并运行5、CLASSPATH指的是类加载路径6、程

1、Java主要特点

简单性、跨平台性、分布性、安全性、健壮性、平台独立与可移植性、多线程、动态性、面向对象编程语言、支持垃圾自动收集处理等,可以编写桌面应用程序、WEB应用程序、分布式系统和嵌入式系统应用等多个系统中。

2、计算机的高级汇编语言类型:

编译型——C语言

解释型——html

编译型和解释型的结合——java

java运行原理源程序进行编译形成字节码文件在一台电脑进行解释程序

java最核心的部分就是虚拟机JVM

image-20210717143755512

3、JVM(Java Visual Machine)

image-20210717144218082

4、编写第一个Java程序并运行

新建Hello.java文件


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

cmd运行javac Hello.java编译后形成字节码.class 运行java Hello

image-20210717165847268

但是对于以上程序需要注意的几点就是

1.序类的定义:类是我们Java中的基本单位,在所有的java程序中都是以类的形式存在的,在java中类的定义有两种

public class 类名称{}:在一个*.java文件中只能有一个public class ,运行时文件名必须和类名一致

class 类名称{}:在一个*.java文件里面可以使用class定义多个文件,在编译之后形成不同的**.class文件

但是在类名定义的时候有一个约定要求每一个单词的首字母必须大写即TestDemo,文件名称必须与类名称一致

2.信息输出:在屏幕上面输出的信息有两种形式一个是输出换行System.out.println()和输出不换行System.out.print()

3.主方法:


public class DeomTest(){
    public static void main(String[] args){
        //主方法模板
    }
}

5、CLASSPATH指的是类加载路径

即使现在不在.class生成的目录中也可以执行该目录下的.class文件,这个时候我们必须通过CLASSPATH来控制SET CLASSPATH=f:\java\javabase\day01

image-20210717172327433

如果你的classpath设置的目录很多很乱的话,对我们的程序解释执行很不方便,采用默认的机制:从当前类所在的路径进行类的加载,我们可以将CLASSPATH的内容设置为“.”

image-20210717172559199

CLASSPATH是一个非常重要的概念,但是现在对其有个基本的认识,后期对CLASSPATH有更深的认识。

6、程序注释,对以后的所有代码都要进行注释,主页可以方便进行开发需求

单行注释://注释内容;

多行注释:/注释内容/”

文档注释:/*文档注释标记/

7、标识符和关键字

程序是一个逻辑的集合,所以每一个逻辑体都应该有自己的标记,例如在程序之中应该有一个标记例如:在程序中定义变量、定义常量、定义类名称和方法名称都有自己的要求。

在JAVA中标识符的命令如下:由字母、数字、_、$组成,其中不能以数字开头、不能使用Java中的保留字(关键字)

个人建议:标识符采用有意义的简单命名,如student_age、age;

"$"不要在代码中,因为其有特殊含义

在所有的程序之中都会有一个特殊的文本标记得到信息,这样的信息我们一般称为叫关键字

image-20210717174240417

但是对于以上的关键字有以下几点说明:

  • java中有两个未使用到的关键字Goto、const;
  • java中有三个特殊含义的单词(不算关键字):null,true,false;
  • jdk1.4之后追加了assert关键字
  • DK1.5之后追加了enum关键字

8、Java数据类型的划分以及数据类型的操作

程序就是一场数字游戏。

java数据类型的划分一般分为两大类:基本数据类型和引用数据类型

基本数据类型:

|-数值类型:表示整数和小数;

​ |-整型:byte、short、int、long -》 默认值是:0;

​ |-浮点型:float、double -》 默认值是:0.0;

|-字符型:char -》默认值是:'\u0000';

|-字符串型:stinrg -》默认值是:

|-布尔型:boolean -》默认值是:false

引用数据类型:数组、类、接口 -》默认值是:null

image-20210717180826530https://img.jbzj.com/file_images/article/202108/2021080915512981.pngjpg

  • 描述整形就是要使用int,描述小数就要使用double;
  • long这种数据类型一般会描述日期时间、内存或文件大小(字节)
  • 如果需要进行编码转换或者进行二进制数据传输,使用byte(-128~127)
  • char一般在描述中文的时候使用到
  • 在描述程序逻辑的时候是使用

数据类型划分——整形

关于变量得到命名要求:第一个单词的字母小写,而后的每个单词的首字母大写,例如maxValue

image-20210717183329311

错误: 编码GBK的不可映射字符

出现该问题:打开记事本-》文件-》另存为-》选择ANSI编码保存

使用long解决int数据溢出的问题

在使用此类方式处理之前请一定注意一个继续使用int进行计算的一个问题,计算结果依然会溢出,原因是先进行等号右边的int类型运算,将运算的结果赋值给long类型,所以说还是会溢出,解决办法就是,将其中的一个变量类型进行扩充,而扩充有两种是实现方式:

​ |-实现方式一:直接将int变量的内容赋值给long类型变量

image-20210725104838542

​ |-实现方式二:直接将某一个int变量直接变为long类型变量

image-20210725105136945

System.out.println(11 + l1); 面试区分1 和 l的细微差别

重要说明:关于数据类型的默认值问题

在之前所有的数据类型都有其默认值,但默认值在方法(主方法)声明中无效

image-20210725111430224

有两种解决方案:一种是在是使用前进行赋值,另外一种是定义变量的时候进行赋值。但是在最早版本JDK时会出现问题,推荐使用第二种方式进行赋值。

数据类型划分——浮点形

double可以保存的数字是最大的,也就是double可以保存全宇宙中最大的有意义的

而除了double之外的 也可以使用float,但float的范围小于double,直接声明float变量时,那么要求在定义的时候进行强制类型转换,在一个数字后加一个字母'f‘、‘F'、或者在数字前面加个(float)

传统bug问题

image-20210725143239948

既然说到了小数的问题就必须考虑一下整形计算的问题

image-20210725144123462

数据类型划分——字符型

用char进行表示,而且赋值使用单引号''来声明字符型的字符变量的内容可以与int类型进行转换。

char类型的变量变为int类型的变量内容的时候其所包含的就是编码

大写字母AscII(A-Z):65(A)~~90(Z)

小写字母AscII(a-z):97(a)~~122(z)

字符数字(‘0'‘9'):48(‘0')~57(‘9')

在其他的语言中可能使用的ASCII编码,而在java中使用的是UNICODE编码,正在因为在java中对于字符的特效支持特别好,所有还有另外一类神奇的用法。

数据类型划分——布尔型

对于布尔型的内容需要说明:在其他语言中由于没有提供布尔型的数据 ,我们会使用数字来描述布尔型,例如0表示false,非0表示true,但是java中没有这个概念。

数据类型划分——字符串型

在字符串中使用了”+“表示两个字符的内容进行连接;一旦字符串有了”+“,则所有的数据类型都变为String类型。如果这时候想要得到正确的计算结果,那么必须使用我们的”()“解决问题。

image-20210725163027589

在java中还存在一种叫做转义字符的概念,几个常用的转义字符换行(\n)、制表符(\t)、双引号(\")、以及单引号(\')、\(\)。

9、运算符

自增、自减操作

​ |-++变量:++x 先自增再运算,x++ 先运算再自增

​ |—变量: --x 先自减再运算,x-- 先运算再自减

三目运算符

三目运算是一种赋值运算,根据条件进行运算

数据类型 变量 = 布尔表达式 ? 条件满足时赋值内容 : 条件不满足时赋值内容

例:将两个变量之中大的内容赋值给新的变量

image-20210725175515359

关系运算符

大于>、小于<、等于=、不等于!=、等于==,最终的结果都是boolean布尔型

逻辑运算

与&&、或||、非!

位运算

十进制与二进制的转化,数据除2取余,一直除到0为止,将余数倒序排列。

移位

image-20210725181423457

进制

image-20210725181715707

出错原因是因为023为八进制 进行进制转化为十进制 为19

面试题:请解释&&和&、||和|的区别?

与操作:

​ |-&&:表示逻辑与运算,若干个判断只要有其中的一个条件为false,后面的不需要再进行判断,结果为false

​ |-&:表示所有的判断都要执行

或操作

​ |-||:表示逻辑与运算,若干个判断只要有其中的一个条件为true,后面的不需要再进行判断,结果为true

​ |-|:表示所有的判断都要执行

位运算:

​ |-&:运算的两个数据位,只要有一个0,其结果就为0

​ |-|:运算的两个数据位,只要有一个1,其结果就为1

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: java基础的详细了解第一天

本文链接: https://lsjlt.com/news/132159.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • java基础的详细了解第一天
    目录1、Java主要特点2、计算机的高级汇编语言类型:3、JVM(Java Visual Machine)4、编写第一个Java程序并运行5、CLASSPATH指的是类加载路径6、程...
    99+
    2024-04-02
  • java基础的详细了解第二天
    目录1、方法的基本定义2、方法重载3、方法的递归调用4、面向对象的前身是面向过程5、类与对象内存分析引用传递总结1、方法的基本定义 限制条件:本次所讲解的方法指的是在主类中定义,并且...
    99+
    2024-04-02
  • java基础的详细了解第三天
    目录1、private实现封装处理2、构造方法与匿名对象3、简单java类4、数组总结1、private实现封装处理 如果像想要知道封装,首先必须清楚如果没有封装会怎么样? 没有封装...
    99+
    2024-04-02
  • java基础的详细了解第四天
    目录1、数组数组的引用传递数组的静态初始化数组与方法的调用Java对数组的支持数组的数据分析数组排序数组的转置数组的二分查找法对象数组总结1、数组 数组的引用传递 public ...
    99+
    2024-04-02
  • java基础的详细了解第五天
    目录1、String类1.1两种对象实例化方式1.2字符串比较1.3字符串常量是String的匿名对象1.4String两种实例化方式区别1、分析直接赋值方式2、构造方法赋值1.5字...
    99+
    2024-04-02
  • java基础的详细了解第六天
    目录1、this关键字1.1 “this.属性”表示本类属性1.2“this”表示调用本类方法1.3“this”表示当前对象1.4引用传递进阶分析1.5对象比较1.6引用传递实际应用...
    99+
    2024-04-02
  • java基础的详细了解第七天
    目录1、static关键字1.1 使用static关键字定义属性1.2 使用static定义方法1.3 分析主方法1.4 关键字的使用2、代码块2.1 普通代码块2.2 构造块2.3...
    99+
    2024-04-02
  • java基础的详细了解第八天
    目录1、多态性1.1 向上转型1.2 向下转型2、抽象类2.1 抽象类的基本概念抽象方法为什么不能实例化对象?关于抽象类的若干中疑问?3、接口3.1 接口的基本概念3.2 接口的使用...
    99+
    2024-04-02
  • java基础的详细了解第九天
    目录1、匿名内部类2、Object类简介 2.1 取得对象信息toString()2.2 对象的比较equals()2.3 Object接口引用数据类型3、包装类3.1 装箱与拆箱3...
    99+
    2024-04-02
  • 第一天-python基础
      每一个今天的坚持都会改变明天的自己!       一.python介绍 python是一门由解释型、弱类型的高级开发编程语言,由龟叔于1989圣诞开发出,后经过二十多年的发展,因其简洁高效的特点而被广泛使用,在世界编程语言排行榜中也逐...
    99+
    2023-01-30
    基础 python
  • python3第一天(基础语法)
    对于python3的应用程序,解释器用/usr/bin/python3(python3如果不在此目录下,更换到相应目录).对于运行,可以对写的脚本添加执行权限,也可以用指定的程序来执行(如:python3 ./脚本)默认情况下,Python...
    99+
    2023-01-31
    语法 基础
  • Java面试题冲刺第一天--基础篇1
    目录面试题1:Java 中操作字符串都有哪些类?它们之间有什么区别? 正经回答:深入追问:追问1:这三者在效率上怎么说?追问2:那StringBuffer和StringBuffer线...
    99+
    2024-04-02
  • 【30天python从零到一】---第三天:python基础语法(二)
    🍎 博客主页:🌙@披星戴月的贾维斯 🍎 欢迎关注:👍点赞🍃收藏🔥留言 🍇系列专栏:&...
    99+
    2023-09-04
    python 开发语言
  • 新手了解java基础知识(一)
    目录1.java基础1.1Java历史1.2Java特点1.2.1 简单性1.2.2 面向对象1.2.3 分布式(微服务)1.2.4 健壮性1.2.5 安全性1.2.6 体系结构中立...
    99+
    2024-04-02
  • Java面试题冲刺第五天--基础篇2
    目录面试题1:说一下抽象类和接口有哪些区别?正经回答:深入追问:追问1:说一说你对抽象类的理解吧,他到底是干啥用的追问2:用抽象类实现一个接口,和普通类实现接口会有什么不同么?追问3...
    99+
    2024-04-02
  • java基础第23天_数据库连接池\反射
    1.属性赋值-------------1.Man{50+ }Man man = new Man();man.setXxx1(...);man.setXxx2(...);...50Man copy = new...
    99+
    2024-04-02
  • Java面试题冲刺第十七天--基础篇3
    目录面试题1:JDK1.8的新特性有哪些?接口的默认和静态方法:Lambda 表达式:方法与构造函数引用:函数式接口:Annotation 注解:支持多重注解:新的日期时间 API:...
    99+
    2024-04-02
  • 【Java基础】- HttpURLConnection详解
    【Java基础】- HttpURLConnection详解 文章目录 【Java基础】- HttpURLConnection详解一、HttpURLConnection简述二、HttpURLCo...
    99+
    2023-09-09
    java servlet 开发语言 HttpURL
  • Java中的类(基础详解)
    文章目录 可以有多个类,但只能有一个public类类 = 字段+方法类的构造函数我们没写构造函数的时候如果我们自己写了构造函数构造函数中 this 的使用 类的修饰符 / 控制符第一...
    99+
    2023-09-01
    java jvm c++
  • 【Java 基础篇】Java Collection详解
    文章目录 导言一、Collection 简介二、List 接口三、Set 接口四、Map 接口总结 导言 Java的Collection框架是一组用于存储和操作对象的接口和类。它提供了...
    99+
    2023-09-14
    java 开发语言 jvm
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作