day02_计算机常识丶第一个程序丶注释丶关键字丶标识符

计算机常识

计算机如何存储数据

  • 计算机世界中只有二进制。那么在计算机中存储和运算的所有数据都要转为二进制。包括数字、字符、图片、声音、视频等。

进制

  • 进制也就是进位计数制,是人为定义的带进位的计数方法 

实例:

//	在java 中 可以使用不同的字母数字组合 来表示 不同进制的数 但是都会以10进制的值进行输出
public class Demo {
    public static void main(String[] args) {
        // 输出10进制的数
        System.out.println(3); // 3

        /*
        二进制
            数字组成:0-1
            进位规则:逢二进一
            二进制:0b或0B开头
         */
        System.out.println(0B11);//3

        /*
        八进制:很少使用
            数字组成:0-7
            进位规则:逢八进一
            八进制:0开头 
         */
        System.out.println(011);//9

        /*
        十六进制
            数字组成:0-9,a-f
            进位规则:逢十六进一
            0x或0X开头
         */
        System.out.println(0X11);//17

    }
}

计算机存储单位

  • 字节(Byte):是计算机信息技术用于计量存储容量的一种计量单位,一字节等于八位。位(bit):是数据存储的最小单位。也就是二进制。二进制数系统中,每个0或1就是一个位,叫做bit(比特),其中8 bit 就称为一个字节(Byte)。

转换关系如下图所示:

计算机如何表示数据

计算机数据的存储使用二进制补码形式存储,并且最高位是符号位,最高位1是负数,最高位0是正数。

规定:

正数的补码与反码、原码一样,称为三码合一。负数的补码与反码、原码不一样:

  • 负数的原码:把十进制转为二进制,然后最高位设置为1
  • 负数的反码:在原码的基础上,最高位不变,其余位取反(0变1,1变0)
  • 负数的补码:反码+1

例如:byte类型(1个字节,8位)

  • 25 ==> 原码 0001 1001 ==> 反码 0001 1001 -->补码 0001 1001
  • -25 ==>原码 1001 1001 ==> 反码1110 0110 ==>补码 1110 0111
如何存储字符
  • 在计算机的内部都是二进制的0、1数据,如何让计算机可以直接识别人类文字的问题呢?就产生出了编码表的概念。
  • 编码表就是将人类的文字和一个十进制数进行对应起来组成一张表格。之后计算机在把十进制转换为对应的二进制进行存储。
  • 将所有的英文字母,数字,符号都和十进制进行了对应,因此产生了世界上第一张编码表ASCII。
  • Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
  • Java中使用的字符集:Unicode字符集

入门程序

JDK安装完毕,可以开发我们第一个Java程序了。Java程序开发三步骤:编写编译运行

步骤一:编写Java源程序:

  1. 在任意目录下新建文本文件,完整的文件名修改为HelloWorld.java,其中文件名为HelloWorld,后缀名必须为.java
  2. 在文件中键入文本并保存,代码如下:
public class HelloWorld {
  	public static void main(String[] args) {
    	System.out.println("HelloWorld");
  	}
}

第一个HelloWord 源程序就编写完成了,但是这个文件是程序员编写的,JVM是看不懂的,也就不能运行,因此我们必须将编写好的Java源文件编译成JVM可以看懂的字节码文件 ,也就是.class文件。

步骤二:编译Java源文件

  • 在DOS命令行中,进入源文件所在的目录,使用javac命令进行编译。

实例:

编译成功后,命令行没有任何提示。打开源文件所在的目录,发现产生了一个新的文件 HelloWorld.class,该文件就是编译后的文件,是Java的可运行文件,称为字节码文件,有了字节码文件,就可以运行程序了。  

步骤三:运行Java程序

  • 在DOS命令行中,进入Java源文件的目录,使用java命令进行运行。

实例

HellWorld程序介绍

计算机怎么理解Java写好的这些指令的?

 注意事项:

  • Java语言是一门严格区分大小写的语言,单词拼写要一模一样。否则会报错
  • 非法字符问题。Java中的符号都是英文格式的。例如:标点符号丶括号..统统只能在英文状态下输入
  • 源文件中的括号只能成对出现
  • main方法是程序的入口,JVM会自动调用
  • 命令行窗口的字符编码与.java源文件的字符编码不一致的时候,会出现乱码问题。解决方案统一编码或者在命令行窗口指定源文件的字符编码
  • 如果类不是被public修饰,那么源文件名可以和类名不一致。如果这个类是public,那么要求源文件名必须与类名一致。
  • 我们建议大家,不管是否是public,都与源文件名保持一致,而且一个源文件尽量只写一个类,目的是为了好维护。
  • 一个源文件中可以有多个类,编译后会生成多个.class字节码文件。但是一个源文件只能有一个public的类。
  • 对代码进行修改后 一定要重新编译再运行才是修改的结果

注释

概念:我们使用自己熟悉的语言对代码进行解释和说明。

其目的是让人们能够更加轻松地了解代码。为代码添加注释,是十分必须要的,它不影响程序的编译和运行。

Java中有单行注释、多行注释丶文档注释

注意事项:

  • 多行注释不能嵌套 

下面我们对java程序进行注释

/**
   目标:掌握注释的使用。
 */
public class HelloWorld {
    /**
        这是一个main方法
        程序必须写这个方法才可以跑起来
     */
    public static void main(String[] args) {
        // 输出一行内容
        System.out.println("单行注释~~");
        /*
           我要输出很多行内容
           看看多行注释是否可以使用
        */
        System.out.println("多行注释!");
    
    }
}

关键字

概念:程序中,Java已经定义好的单词,具有特殊含义。

  • 关键字的特点:全部都是小写字母。
  • 关键字比较多,不需要死记硬背,学到哪里记到哪里即可。

标识符

简单的说,凡是程序员自己命名的部分都可以称为标识符。即给类、变量、方法、包等命名的字符序列,称为标识符。

标识符的命名规则(必须遵守)

  • Java的标识符只能使用26个英文字母大小写,0-9的数字,下划线_,美元符号$
  • 不能使用Java的关键字(包含保留字)和特殊值
  • 数字不能开头
  • 不能包含空格
  • 严格区分大小写

标识符的命名规范(遭受鄙视)

  • 见名知意
  • 类名、接口名等:每个单词的首字母都大写,形式:XxxYyyZzz,例如:HelloWorld,String,System等
  • 变量、方法名等:从第二个单词开始首字母大写,其余字母小写,形式:xxxYyyZzz,例如:age,name,bookName,main
  • 包名等:每一个单词都小写,单词之间使用点.分割,形式:xxx.yyy.zzz,例如:java.lang
  • 常量名等:每一个单词都大写,单词之间使用下划线_分割,形式:XXX_YYY_ZZZ,例如:MAX_VALUE,PI

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux实操学习

Linux常用操作 一、帮助命令1. man1.1 基本语法1.2 快捷键1.3 注意事项 2. help2.1 基本语法2.2 注意事项 3. 常用快捷键 二、文件目录类1. 常规操作1.1 pwd1.2 cd1.3 ls 2. 文件夹操作2.1 mkdir2.2 rmdir 3. 文件操作3.1 touch3.2 cp3.3 rm3.4 mv 4. 文件查看4.1 cat4.2 more4…

【视觉SLAM十四讲学习笔记】第五讲——相机模型

专栏系列文章如下: 【视觉SLAM十四讲学习笔记】第一讲——SLAM介绍 【视觉SLAM十四讲学习笔记】第二讲——初识SLAM 【视觉SLAM十四讲学习笔记】第三讲——旋转矩阵 【视觉SLAM十四讲学习笔记】第三讲——旋转向量和欧拉角 【视觉SLAM十四讲学习笔记】第三讲——四元…

部署本地GPT

在现实生活中,很多公司或个人的资料是不愿意公布在互联网上的,但是我们又要使用人工智能的能力帮我们处理文件、做决策、执行命令那怎么办呢?于是我们构建自己或公司的本地专属GPT变得非常重要。 先看效果: 查资料不用愁 家教不…

CF1178F2 Long Colorful Strip 题解 搜索

Long Colorful Strip 传送门 题面翻译 题目描述 这是 F 题的第二个子任务。F1 和 F2 的区别仅在对于 m m m 和时间的限制上 有 n 1 n1 n1 种颜色标号从 0 0 0 到 n n n,我们有一条全部染成颜色 0 0 0 的长为 m m m 的纸带。 Alice 拿着刷子通过以下的过…

3种ffmpeg-web端视频直播推流方案

ffmpeg-web端视频直播推流方案 记录了三种 ffmpeg 工具进行推流的方法,并在web端实现直播效果。 一. node-media-server ffmpeg 推流rtmp 安装node-media-server依赖,新建app.js运行 npm install node-media-server -g const NodeMediaServer require(node-…

flash-attn库安装记录

flash-attn库安装记录 第一步: 安装好cuda11.7 第二步: 使用代码export CUDA_HOME/usr/local/cuda-11.7让库找到cuda路径 第三步: 使用pip install flash-attn --no-build-isolation安装 安装成功显示

【REMB 】翻译:草案remb-03

REMB REMB消息 以及 绝对时间戳选项 在带宽估计中的使用 :an absolute-value timestamp option for use in bandwidth estimatoin. 接收方带宽估计的RTCP消息 REMB 这位大神翻译的更好。 RTCP message for Receiver Estimated Maximum Bitrate draft-alvestrand-rmcat-remb-03…

图像处理------亮度

from PIL import Imagedef change_brightness(img: Image, level: float) -> Image:"""按照给定的亮度等级&#xff0c;改变图片的亮度"""def brightness(c: int) -> float:return 128 level (c - 128)if not -255.0 < level < 25…

web:ezbypass-cat(白名单目录穿透漏洞、重定向)

题目 进入页面&#xff0c;页面显示如下 随便输入 显示密码错误 查看源代码&#xff0c;没有发现提示 尝试一下sql注入&#xff0c;也没有结果&#xff0c;这里看了大佬的wp&#xff0c;发现是目录穿透 使用bp抓包&#xff0c;网站目录爆破&#xff0c;发现flag.html&#xf…

【51单片机系列】proteus仿真单片机的串口通信

本文参考&#xff1a;https://zhuanlan.zhihu.com/p/425809292。 在proteus之外使用串口软件和单片机通信。通过在proteus设计一个单片机接收PC发送的数据&#xff0c;并将接收的数据发送出去&#xff0c;利用软件【Configure Virtual Serial Port Driver】创建一对虚拟串口&am…

Spring高手之路-Spring事务失效的场景详解

目录 前言 Transactional 应用在非 public 修饰的方法上 同一个类中方法调用&#xff0c;导致Transactional失效 final、static方法 Transactional的用法不对 Transactional 注解属性 propagation 设置不当 Transactional注解属性 rollbackFor 设置错误 用错注解 异常…

rust跟我学:模块编写与使用

图为RUST吉祥物 大家好,我是get_local_info作者带剑书生,这里用一篇文章讲解get_local_info中模块的使用。 首先,先要了解get_local_info是什么? get_local_info是一个获取linux系统信息的rust三方库,并提供一些常用功能,目前版本0.2.4。详细介绍地址:[我的Rust库更新]g…

考研C语言刷题篇之分支循环结构一

目录 第一题 第二题 方法一&#xff1a;要循环两次&#xff0c;一次求阶乘&#xff0c;一次求和。 注意&#xff1a;在求和时&#xff0c;如果不将sum每次求和的初始值置为1&#xff0c;那么求和就会重复。 方法二&#xff1a; 第三题 方法一&#xff1a;用数组遍历的思想…

认识并使用JWT

认识并使用JWT 一、互联网世界的用户认证二、对JWT的基本认知三、JWT的原理1 Header2 Payload3 Signature4 [参考资料](https://www.ruanyifeng.com/blog/2018/07/json_web_token-tutorial.html) 四、使用JWT1、引入依赖2、jwt的生成与解析3、测试3.1 生成jwt3.2 解析jwt 一、互…

探索单元测试和 E2E 测试:提升软件质量的关键步骤(下)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

驾驭车联网的力量:深入车联网网络架构

车联网&#xff0c;作为移动互联网之后的新风口&#xff0c;以网联思想重新定义汽车&#xff0c;将其从简单的出行工具演化为个人的第二空间。车联网涵盖智能座舱和自动驾驶两大方向&#xff0c;构建在网联基础上&#xff0c;犀思云多年深度赋能汽车行业&#xff0c;本文将从车…

iphone 5s的充电时序原理图纸,iPAD充电讲解

上一篇写了iphone 5的时序。那是电池供电的开机时序。iphone 5s也是差不多的过程&#xff0c;不说了。现在看iphone5s手机充电时候的时序。iphone5s充电比iphone5充电简单了很多。 首先是usb接口接到手机上&#xff0c;usb线连接到J7接口上。J7接口不只是接usb&#xff0c;还能…

Express安装与基础使用

一、express 介绍 express 是一个基于 Node.js 平台的极简、灵活的 WEB 应用开发框架&#xff0c; 官方网站&#xff1a; Express - 基于 Node.js 平台的 web 应用开发框架 - Express中文文档 | Express中文网 中文文档&#xff1a; 路由 - Express 中文文档 简单来说&am…

二次开发在线预约上门服务、预约到家系统 增加开发票功能 轮播图链接跳转 uniapp代码

客户具体要求&#xff1a; 1、在我的个人中心里面增加一个 开票功能&#xff0c;点击进去之后可以查看到能开票的订单列表&#xff0c;如果是个人是填写姓名电话邮箱&#xff0c;就是填写单位名称 税号 邮箱&#xff0c;提交申请到后台审核&#xff0c;如果审核通过后线下人工…

预处理/预编译详解(C/C++)

在上一篇的bolg中的编译与链接中提到过预处理&#xff0c;但只是较为简单的讲解&#xff0c;本篇将会对预处理进行详细的讲解。 其中在预处理中很重要的一个一个知识点是#define定义常量与宏&#xff0c;还区分了宏与函数的区别&#xff0c;以及#和##符号&#xff0c;还涉及条件…
最新文章