从零开始学JAVA
一、编写Hello world程序
public class JavaMain1 {//主程序执行入口,main方法public static void main(String[] args){System.out.println("Hello world!");}
}
运行结果
Hello world!
java编写主程序常见错误: 1、System ---首字母没有大写 2、主程序没有void
二、关键字
关键字:就是Java语言赋予的特定含义单词 特点:关键字字母全部都是小写,IDEA针对关键字有特殊的颜色标记。如:public class static void 如在IEDA中的关键字,有明显的颜色区分。

三、常量
|
示例代码:
public class JavaMain1 {//主程序执行入口,main方法public static void main(String[] args){//输出字符串常量System.out.println("Hello world");//输出整数常量System.out.println(77777);//输出小数常量System.out.println(77.777);//输出字符常量System.out.println('男');//输出布尔常量System.out.println(ture);}
}
Hello world
77777
77.777
男
true
四、变量
变量:在程序运行过程中,其值可以发生改变的值(变量是内存中一小块区域) 定义变量:变量的数据类型 变量名称=赋值
五、字符和字符串中的‘+’操作
字符的‘+’操作:拿字符在计算机底层对应的数值来进行计算(底层计算使用ASCII码)
ASCII码表中的26个大小写字母对应的十进制如下表:
| 大写字母 | ASCII码 | 小写字母 | ASCII码 |
|----------|----------|----------|----------|
| A | 65 | a | 97 |
| B | 66 | b | 98 |
| C | 67 | c | 99 |
| D | 68 | d | 100 |
| E | 69 | e | 101 |
| F | 70 | f | 102 |
| G | 71 | g | 103 |
| H | 72 | h | 104 |
| I | 73 | i | 105 |
| J | 74 | j | 106 |
| K | 75 | k | 107 |
| L | 76 | l | 108 |
| M | 77 | m | 109 |
| N | 78 | n | 110 |
| O | 79 | o | 111 |
| P | 80 | p | 112 |
| Q | 81 | q | 113 |
| R | 82 | r | 114 |
| S | 83 | s | 115 |
| T | 84 | t | 116 |
| U | 85 | u | 117 |
| V | 86 | v | 118 |
| W | 87 | w | 119 |
| X | 88 | x | 120 |
| Y | 89 | y | 121 |
| Z | 90 | z | 122 |字符串的‘+’操作:当字符串中出现‘+’,此时的‘+’是连接运算符
六、关系运算符
关系运算符有6种关系,分别为小于、小于等于、大于、等于、大于等于、不等于。
| 符号 | 说明 |
|---|---|
| == | a==b,判断a和b的值是否相等,成立为true,不成立为false |
| != | 𝑎 =𝑏a =b,判断a和b的值是否不相等,成立为true,不成立为false |
| >> | a>>b,判断a是否大于b,成立为true,不成立为false |
| > => = | 𝑎>=𝑏a>=b,判断a是否大于等于b,成立为true,不成立为false |
| << | 𝑎<𝑏a<b,判断a是否小于b,成立为true,不成立为false |
| < =< = | 𝑎<=𝑏a<=b,判断a是否小于等于b,成立为true,不成立为false |
注意事项:关系运算符的结果都是𝑏𝑜𝑜𝑙𝑒𝑎𝑛类型,要么是𝑡𝑟𝑢𝑒,要么是𝑓𝑎𝑙𝑠𝑒。千万不要把“”误写成“=”,“”是判断是否相等的关系,“=”是赋值。注意事项:关系运算符的结果都是boolean类型,要么是true,要么是false。千万不要把“”误写成“=”,“”是判断是否相等的关系,“=”是赋值。
七、数据类型的特性或数据类型的属性
Java中基本数据类型名称、关键字、内存占用和取值范围的表格:
| 数据类型 | 关键字 | 内存占用 | 取值范围 |
|---|---|---|---|
| byte | byte | 1 字节 | -128 到 127 (-2^7 到 2^7-1) |
| short | short | 2 字节 | -32,768 到 32,767 (-2^15 到 2^15-1) |
| int | int | 4 字节 | -2,147,483,648 到 2,147,483,647 (-2^31到 2^31-1) |
| long | long | 8 字节 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 (-2^63 到 2^63-1) |
| float | float | 4 字节 | 大约 ±3.4E-45 到 ±3.4E38,有效位数为6-7位 |
| double | double | 8 字节 | 大约 ±4.9E-324 到 ±1.8E308,有效位数为15位 |
| char | char | 2 字节 | '\u0000'(0)到 '\uffff'(65,535) |
| boolean | boolean | 不确定,通常实现为1位或1字节 | true 或 false |
请注意以下几点:
char类型表示一个Unicode字符。它以16位(2个字节)的形式存储,范围从'\u0000'(也就是0)到'\uffff'(也就是65,535)。boolean类型的内存占用在Java中没有明确指定,并且可能因JVM实现而异。虽然它可以只用1位来表示,但出于对齐原因通常会使用更多空间。float和double类型遵循IEEE 754标准,分别用32位和64位来存储浮点数。
以上表格提供了每种基本数据类型的关键字、内存占用和取值范围的基本概述。
八、逻辑运算符
| 名称 | 运算符 | 描述 |
| 逻辑与 | & | a&b,a和b都是true,结果为true。否则为false。 |
| 逻辑或 | | | a|b,a和b都是false,结果为false。否则为true。 |
| 逻辑非 | ! | !a,结果和a的结果正好相反 |
| 逻辑异或 | ^ | a^b,a和b结果不同为true,相同为false |
| 短路与 | && | 作用和&相同,但是有短路 |
| 短路或 | || | 作用和|相同,但是有短路 |
逻辑运算符的代码示例如下
public class Logicaloperation {public static void main(String[] args){// 逻辑与,左边&右边,都必须是true,则返回结果是为trueSystem.out.println("&并且");System.out.println(true & true);System.out.println(true & false);System.out.println(false & false);int a = 10;int b = 20;int c = 30;//a>b false b>c falseSystem.out.println(a>b&b>c);// 输出:false//a<b true b<c trueSystem.out.println(a<b&b<c);// 输出:true//a<b true b>c falseSystem.out.println(a<b&b>c);// 输出:false// 逻辑或,左边 | 右边,只要有一个为true,则返回为trueSystem.out.println("| 演示");System.out.println(true | false); // 输出:trueSystem.out.println(false | false); // 输出:falseSystem.out.println(true | true); // 输出:true// 逻辑异或System.out.println("异或 演示");System.out.println(true ^ false); // 输出:trueSystem.out.println(true ^ true); // 输出:false//逻辑非 !System.out.println("! 取反");System.out.println(!true); // 输出:System.out.println(!false); // 输出:// 短路与//左边返回false,右边不会执行,若左边返回true,两边执行System.out.println("短路与&& 演示");System.out.println((a++>100)&&(b++>100));System.out.println(a);System.out.println(b);// 短路或//左边和右边只要有一个返回true,最终结果是trueint d = 10;System.out.println("短路或 ||");System.out.println((d++>1)||(b++>100));System.out.println(d);System.out.println(b);}
}
&并且
true
false
false
false
true
false
| 演示
true
false
true
异或 演示
true
false
! 取反
false
true
短路与&& 演示
false
11
20
短路或 ||
true
11
20
相关文章:
从零开始学JAVA
一、编写Hello world程序 public class JavaMain1 {//主程序执行入口,main方法public static void main(String[] args){System.out.println("Hello world!");} } 运行结果 Hello world! java编写主程序常见错误: 1、System ---首字母没有…...
MySQL(四)查询
1、MySQL限性约束 —非空、唯一(自增)、主外键、检查(MySQL存在但是不能用)。 约束主要完成对数据的校验,保证数据库数据的完整性;如果有相互依赖数据,保证该数据不被删除。 1)常用五类约束 not null :非空约束,指定某列不为空。 unique:唯一约束,指定某列和几列组…...
嵌入式学习——网络编程(TCP)——day31
1. TCP和UDP的区别 TCP(Transmission Control Protocol,传输控制协议) UDP(User Datagram Protocol,用户数据报协议) 1.1 连接方式 TCP 是面向连接的协议,它在数据传输前需要通过三次握手建立…...
[STM32]定位器与PWM的LED控制
目录 1. 深入了解STM32定时器原理,掌握脉宽调制pwm生成方法。 (1)STM32定时器原理 原理概述 STM32定时器的常见模式 使用步骤 (2)脉宽调制pwm生成方法。 2. 实验 (1)LED亮灭 代码 测试效果 (2)呼吸灯 代码 测试效果 3.总结 1. 深入了解STM32定时器原…...
可视化数据科学平台在信贷领域应用系列五:零代码可视化建模
信贷风控模型是金融机构风险管理的核心工具,在信贷风险管理工作中扮演着至关重要的角色。随着信贷市场的环境不断变化,信贷业务的风险日趋复杂化和隐蔽化,开发和应用准确高效的信贷风控模型显得尤为重要。信贷风险控制面临着越来越大的挑战和…...
Windows 11广告植入“另辟蹊径”:PC Manager暗示若不使用必应搜索,你的系统可能需要“修复”
Edge浏览器近期增添了许多实用的新功能,如侧边栏、休眠标签页和沉浸式阅读器。话虽如此,浏览器中仍有一部分功能被部分用户视为“冗余软件”和不必要的累赘。 随着Windows 11用户逐渐习惯操作系统关键位置出现越来越多的广告,微软似乎正尝试以…...
一线教师教学工具汇总
亲爱的教师们!我们的教学工具箱里也该更新换代啦!今天,就让我来给大家安利一波超实用的教学神器: 百度文库小程序 —— 在线图书馆 百度文库,一个宝藏级的在线文档分享平台!在这里,你可以找到海…...
【数据结构】栈和队列-->理解和实现(赋源码)
Toc 欢迎光临我的Blog,喜欢就点歌关注吧♥ 前面介绍了顺序表、单链表、双向循环链表,基本上已经结束了链表的讲解,今天谈一下栈、队列。可以简单的说是前面学习的一特殊化实现,但是总体是相似的。 前言 栈是一种特殊的线性表&…...
一篇教会你CSS定位
前言:在网页布局的时候,我们需要将想要的元素放到指定的位置上,这个时候我们就可以使用CSS中的定位操作。 先让我们看一下本篇文章的大致内容: 目录 什么是定位 1.相对定位 2.绝对定位 3. 固定定位 4. 粘性定位 5. 定位层级…...
Hive的常规操作
Hive常规操作 hive常用交互命令 -e执行sql语句 [rootmaster ~]# hive -e "show databases";-f执行sql脚本 [rootmaster ~]# hive -f /usr/local/demo.sql查看hive中输入的所有命令 [rootmaster ~]# cat ~/.hivehistory操作库 创建库 语法: create…...
redis做为缓存,mysql的数据如何与redis进行同步呢?
让我们一步步来实现如何让MySQL数据库的数据和Redis缓存保持同步。想象一下,MySQL是一个大仓库,存放着所有重要的货物(数据),而Redis则像是一个快速取货窗口,让你能更快拿到常用的东西。为了让两者保持一致…...
【Map】集合总结
一、Map 之前学习的Collection集合体系是单列集合,即一次存取一个元素 Map是双列集合,一次存取一对元素,这一对儿称为键值对,key-value,且key是映射到value 所谓键映射到值,是指只能通过键找到值,无法通过值找键 Map中键不能重复!值允许重复 Map中一个键,只能对应一个值 Ma…...
SpringBoot实现发送邮件功能
目录 一、开启邮件服务 二、导入pom依赖 三、配置yml文件 四、发送邮件 4.1、发送文字邮件 4.2、发送html邮件 4.3、发送附件邮件 4.4、发送图片邮件 一、开启邮件服务 这里拿QQ邮箱举例。 翻到下面进行开启,之后获取授权码。 二、导入pom依赖 <dependency><…...
外观数列 ---- 模拟
题目链接 题目: 分析: 题目的意思如下:所以我们需要引用双指针来找到连续的字符有几个, 并添加到答案中, 接着将此字符添加到答案中, 让left right , 继续向后遍历整个字符串, 重复上面的操作将答案重新赋给字符串, 继续重复上述操作, 应该重复n - 1 次, 因为n为1的时候, 直…...
上心师傅的思路分享(二)
Druid monitor 与Springboot常见报错界面渗透小技巧 目录 前言 1.Druid monitor介绍 2.Druid未授权(1rank) 3.druid弱口令 4.Druid进一步利用 4.1 URL监控 4.2 Session监控 利用思路 EditThisCookie(小饼干插件) 5.SpringBoot Actuator未授权访问漏洞 5.1 简介 5…...
116页 | 2024年中国金融行业网络安全研究报告(免费下载)
以上是资料简介和目录,如需下载,请前往星球获取!!!...
基于fabric封装一个简单的图片编辑器(vue 篇)
介绍 前言vue demo版本react 版本 前言 对 fabric.js 进行二次封装,实现图片编辑器的核心功能。核心代码 不依赖 ui响应式框架vue ,react 都适用。 只写了核心编辑相关代码便于大家后续白嫖二次开发 核心代码我就没有打包发布 会 和 业务代码一起放到项目中。 vu…...
Linux中 .PHONY 和 all 在 Makefile 中的作用
1 .PHONY 和 all .PHONY 是 GNU make 工具中的一个特殊指令,用于指示某个目标是一个伪目标。伪目标并不对应于实际的文件,而是用来执行一系列命令的标识符。使用 .PHONY 的好处包括避免与现有文件同名造成的冲突,以及提高 make 的执行效率&am…...
Flutter 中的 FlexibleSpaceBar 小部件:全面指南
Flutter 中的 FlexibleSpaceBar 小部件:全面指南 Flutter 是一个由 Google 开发的跨平台 UI 框架,它提供了丰富的组件来帮助开发者构建高性能、美观的移动、Web 和桌面应用。在 Flutter 的组件库中,FlexibleSpaceBar 是一个与 SliverAppBar …...
每天一个数据分析题(三百五十四)-分析报表
分析报表的主要作用是通过可视化图表的形式将各种分析结果完整、准确地呈现给阅读者,帮助阅读者读懂数据,从而进一步发现数据背后隐藏的业务问题。下列说法正确的是? A. 静态报表的主要载体是电子表格工具 B. BI报表的数据源获取方式是应用…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
