首页 > 编程语言 >java_day1学习笔记

java_day1学习笔记

时间:2024-07-14 18:26:08浏览次数:20  
标签:Java 字节 double 数据类型 笔记 day1 java main public


title: Java_Day_1学习笔记
data: 2024-07-09
tags: Java

学前简述

学习方法

  • 为什么学?

    • 技术控?
    • 项目需求?
    • 作业要求?
  • 方法?

    • 现有技术能解决?
    • 现有技术能完美解决?
  • 新技术和知识点?

    • 根据需求有针对点的学习
  • 怎么学?

    • 基本原理和基本语法(不考虑细节,快速过一遍),不要先考虑细节,因为细节永无止境

    • 快速入门(基本程序)

    • 熟悉后,再考虑细节

历史信息

  • 1995年,Java诞生。

  • 目前属于甲骨文公司所有

  • 目前用的最多的版本是8和11

语言特点

  • 面对对象(oop)

  • 可移植性高

  • 解释性语言
    解释性语言:编译后的程序需要解释器执行,如python、Java、PHP。
    编译性语言:编译后的程序可以直接执行,如C/C++

开发工具

软件

  • editplus、 notepad++
  • Sublime Text
  • IDEA
  • eclipse

选择

初学者建议用集成度低的软件,培养代码感。例如Sublime。

做项目的时候,建议使用IDEA与eclipse这些集成度高的软件,会更方便进行项目开发。

运行机制

Java能运行起来全靠各个平台的JVM(Java虚拟机)

JVM特点

  • 包括在JDK中,通过安装不同版本的JDK来安装
  • 不同的OS具有不同的JVM
  • JVM为Java程序的运行提供透明服务,即程序编译后,运行的时候屏蔽了不同操作系统的差异性。

JDK(Java开发工具)

  • 包括JRE和Java开发工具
  • 开发者使用,编译程序

JRE(Java运行环境)

  • 包括JVM和Java核心类库

  • 用户端使用,运行程序

配置环境变量

原因

  • 看错误现象
  • 当前执行程序的目录下没有可供使用的编译器,OS会去查询path路径。为了能够最大效率的使用Java,所以要配置环境变量。

在这里插入图片描述

用户变量只针对某一个用户,这里就是只针对zpx用户,而系统变量是针对所有用户,即所有用户都可以用。如果电脑只供一个用户使用,其实两者就没有差别了。

Java入门

程序示例

以下是一个经典的Hello程序代码的示例

//创建一个public公有类Hello
public class Hello{
	//创建一个主函数
	public static void main(String[] args){
		//编写打印字符串的代码块
		System.out.println("Hello world!"); 
        // ;(冒号)表示该代码语句结束
	}
}

在这里插入图片描述

在编译之前一定要改变程序的编码格式,因为cmd默认编译程序是gbk编码,但是有中文的代码一般是utf-8格式,所以在编写完程序后,一定记得要改变程序的编码格式。

之后还要进行程序的编译和执行,语句及效果如下图所示:

在这里插入图片描述

javac命令 java命令 .java文件 .class文件 执行结果

注意事项

  • 一个源文件只能有一个public类,其他类不限制;
    并且如果源文件中有一个public类,则源文件必须以该类命名。

  • 在编译后,每一个类都会生成一个.class文件。

  • Java程序入口是main()方法,一般我们规定是

    public static void main(String[] args){}
    
  • main()方法也可以在非public类中

转义字符

字符功能
\t制表符
\n换行符
\\输出“\”(类似于计网数据链路层)
\r回车

==注意:==换行是另起一行,回车是同一行从头开始。

要学会去看报错信息,一般情况下报错信息有助于我们修改代码,完善代码。

注释

  • 单行注释:利用“//”后面跟的是注释
  • 多行注释:“/**/“,在两个*中间夹的就是注释,这个可以用作多行

在这里插入图片描述

  • 文档注释:

在这里插入图片描述

文档注释的用处很多,这个在之后可以多加留心注意。

代码规范

  • 类、方法注释用javadoc方式

  • 适当的缩进和空格

  • 实际工作中的文件格式是utf-8

  • 每行最多不要超过80字符

  • 代码编写符合次行风格(笔者推荐,笔者常用)和行尾风格

数据类型

变量

用于存储数据的命名存储位置,每个变量都有一个特定的类型。类型决定了变量能存储的种类以及该数据能进行的操作

加运算

下边是进行加运算时候的代码及结果

在这里插入图片描述

数据类型

  • 基本数据类型

    • 数值型

      • 整数类型(byte[1],short[4],int[4],long[8])
      • 浮点类型(float[4],double[8])
    • 字符型(char[2])

    • 布尔型(boolean[1])

  • 引用数据类型

    • 接口
    • 数组

整数类型

类型字节范围
byte1-128~127
short4-(215)~215-1
int4-(231)~231-1
long8-(263)~263-1
  • Java的数据类型长度不受OS的影响,保持了Java的可移植性
  • 除非不得已,一般用int
  • 1byte = 8bit

浮点型

类型存储空间范围
单精度float4字节-3.403E38 ~ 3.403E38
双精度double8字节-1.798E308 ~ 1.798E308

浮点数 = 符号位 + 阶码(指数) + 尾数(精度)

  • 不受OS影响,存储空间固定
  • Java默认浮点型常量是double,声明float类型时,常量后必须跟‘f’或者’F‘
//创建一个公有类
public class PlusSum{
	public static void main(String[] args){	
		float num1 = 1.1; //报错,Java默认常量是double
		float num2 = 1.1f; //对
		double num3 = 1.1; //对
		double num4 = 1.1f; //对,double存储空间大于float
            
        double num5 = .123; //相当于0.123
        double num6 = 5.12e2; //= 5.12*10的平方
        double num7 = 5.12E2; //= 5.12/10的平方
	}
}
  • 2.7与8.1/3相近,并不是相等。

字符型

  • char的本质是整数,整数代表的Unicode码(统一编码表)
  • 用单引号包括
  • char可以运算
  • 不同规则的编码格式,对文件大小有一定的影响;不同编码的文件进行转换会出现乱码的情况
    如gbk(字母1字节,汉字2字节), utf-8(字母1字节,汉字3字节), unicode(字母与汉字均为2字节), big5(存放繁体字)

布尔型

  • 只有true和false两个值
  • 不能用非0或0表示布尔类型(C可以)

类型转换

类型自动转换

  • 低精度能向高精度进行自动转换

在这里插入图片描述

  • 当有多个数据类型进行运算的时候,系统首先将所有数据转换为存储空间最大的数据类型
  • (byte,short)无法与char互相转换
  • boolean不参与类型自动转换

在这里插入图片描述

  • short, char, byte参与的运算会自动转换为int类型

强制转换

  • 高精度转为低精度,会造成数据的损失或溢出

在这里插入图片描述

  • 强转符号只对最近的数据有效

在这里插入图片描述

练习题

在这里插入图片描述

base2string

  • 基本数据类型与字符串进行转换的时候用的是各个数据类的方法

在这里插入图片描述

作业小结

在这里插入图片描述

// HomeWork4.java
public class HomeWork4{
    public static void main(String[] args){
        String name = "张三";
        int age = 20;
        double score = 95.6;
        char gender = 'female';
        String hobby = "music";
        System.out.println("姓名\t年龄\t成绩\t性别\t爱好\n"+
            name+"\t"+age+"\t"+score+"\t"+gender+"\t"+hobby);
    }
}

标签:Java,字节,double,数据类型,笔记,day1,java,main,public
From: https://blog.csdn.net/m0_73857800/article/details/140319471

相关文章

  • java基础知识(2)—面向对象.属性和方法
    本章会引入属性和方法的基本概念。一个植物类(Plant)有很多的状态信息,如名字、话费、血量、攻击力和攻击速度等。这些植物的状态就叫做一个类的属性。Part1:属性的类型属性的类型可以是基本类型,比如int整数,float浮点数也可以是类类型,比如String字符串publicclassPlant{......
  • 失败笔记本--OPENCV--001--202407
    失败笔记本-OPENCV篇-001项目场景:今天研究一下用OPENCV基于轮廓分析查找数字,参考地址为:OpenCV案例|基于轮廓分析查找数字实现的效果如下:1.打开一张图片步骤:首先呢还是丝滑小连招,打开图片,灰度化,二值化在opencv中使用imread打开图片,使用imshow展示图片,不过要注意在ims......
  • 【JavaScript脚本宇宙】解密六大Node.js消息队列库:选对工具,事半功倍
    从Bull到NSQ:探索Node.js消息队列库的全貌前言在现代软件开发中,消息队列是一种常见的通信模式,用于实现异步任务处理、解耦系统组件、以及实现可靠的事件驱动架构。Node.js作为一个流行的后端开发平台,有许多优秀的消息队列库可以供开发者选择和使用。本文将介绍六个流行的No......
  • 十万字梳理,带你拿下Java面试题(含答案解析)!
    马上金九银十很多同学/朋友都在忙着找工作,小五给大家整理了一份非常全面的Java面试题含答案总结!从java面试新手到java面试专家,你只差这一份面试题!还不赶紧拿下~内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、SpringBoot、Spri......
  • Java笔记之HashMap
    HashMap的实现原理HashMap概述HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。HashMap底层就是一......
  • Java笔记之ThreadLocal
    定义:ThreadLocal叫做线程变量,该变量对其他线程而言是隔离的,是当前线程独有的变量。ThreadLocal为变量在每一个线程中都创建了一个副本,并且该副本只能当前Thread使用,因此不存在多线程共享的问题。原理:Thread类有一个类型ThreadLocalMap的实例变量ThreadLocals,每个线程都有一个......
  • java总结第二周
    本周对JAVA的while,switch,for以及数组进行了学习。数组是一种数据结构,它可以存储一系列相同类型的变量。在Java中,定义一个数组需要指定其数据类型和大小。数组的索引从0开始,最后一个元素的索引是数组长度减1。可以通过索引来访问和修改数组中的元素。数组的主要优点是可以方便地......
  • 《项目管理》-笔记2
    1.项目集定义项目集是一组相互关联且被协调管理的项目、子项目集和项目集活动,以便获得分别管理所无法获得的利益。项目集有三个核心特征:(1)多个项目(2)统一战略目标(3)统一配置资源项目组合管理利用了MPT的概念,并且也应用了三个关键评估标准来衡量项目:项目承担的成本、存在的风险......
  • Java计算机毕业设计个性化旅游景点推荐网站(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在旅游业蓬勃发展的今天,随着人们生活水平的提高和休闲时间的增加,个性化旅游需求日益凸显。传统旅游推荐方式往往基于热门景点或固定线路,难以满足游客......
  • Factory method 'redissonClient' threw exception; nested exception is java.lang.I
    你遇到的这个错误是在Spring框架中常见的,它表示在创建Bean的过程中,有一个依赖关系未能得到满足。在这个特定的情况下,错误发生在创建voucherOrderController和voucherOrderServiceImpl这两个Bean时,其根本原因是无法实例化redissonClient,而redissonClient的创建失败是因为提供的Redi......