【Java初阶(一)】初识Java

❣博主主页: 33的博客❣

▶文章专栏分类: Java从入门到精通◀

🚚我的代码仓库: 33的代码仓库🚚

目录

1. 前言

这篇文章是我编程学习Java后的第一篇文章,虽然我现在的知识储备少,代码能力弱,但我相信明年的今天,我会有质的飞跃,也希望大家和我一起学习,一起加油!

本章重点:

本篇文章主要介绍java的概念,第一个Java程序,注释,标识符,数据类型,变量,掌握各种运算符等等。


2.Java的概念

Java是一种优秀的程序语言,Java语言具有以下特性

简单性、面向对象、分布式(微服务)、健壮性、安全性、 可移植性、 多线程性等等。


2.1第一个Java程序

java 复制代码
public class HelloWorld{
  public static void main(String[] args){
	System.out.println("Hello World");
  }
}	

1.源文件(扩展名为*.java):源文件带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个类。类的内容必须包含在花括号里面。

2.类:类中带有一个或多个方法。方法必须在类的内部声明。

3.方法:在方法的花括号中编写方法应该执行的语句。


2.2运行java程序

  1. .使用记事本或者IDEA编写Java源程序
  2. 使用Javac 文件名.java编译生成xxx .class的字节码文件
  3. 使用Java xxx运行字节码文件

3.注释

Java中的注释主要分为以下三种

单行注释:// 注释内容

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

文档注释: /** 文档注释 */


4. 标识符

标识符其实就是:在程序中由用户给类名、方法名或者变量所取的名字

标识符中可以包含:字母、数字、_ 、$
注意:标识符不能以数字开头,也不能是关键字,要严格区分大小写

例:下面那些标识符是合法的?

A:class B:HelloWorld C:main D:123abc E:ARRAY_SIZE F: $name G: name:jim

A是关键字,错误。D以数字开头,错误。G中有冒号,错误。

java中有很多关键字,关键字是由Java语言提前定义好的,有特殊含义的标识符,或者保留字,下面列举部分


5.常量

在程序运行期间,固定不变的量就称为常量:常量又可以分为以下几类

  1. 字符串常量:由""括起来的,比如"12345"、"hello"、"你好"。
  2. 整型常量:程序中直接写的数字(注意没有小数点),比如:100、1000
  3. 浮点数常量:程序中直接写的小数,比如:3.14、0.49
  4. 字符常量:由 单引号 括起来的当个字符,比如:'A'、'1'
  5. 布尔常量:只有两种true和false

6. 数据类型

Java中数据类型可以分为基本数据类型和引用数据类型。

基本数据类型有以下4类:整型、浮点型、字符型、布尔型。


7. 变量

在程序中,除了有始终不变的常量外,有些内容可能会经常改变,比如:人的年龄、身高、成绩分数、数学函数的计算结果等。对于这些经常改变的内容,在Java程序中,称为变量 。而数据类型就是用来定义不同种类变量的。

语法格式:

java 复制代码
数据类型 变量名=初始值;

7.1整型变量

7.1.1 整型变量

java 复制代码
//方法一:定义时候赋值
 int a=10;
 System.out.println(a);
 //方法二:使用时赋值,如果不赋值会编译错误
 int a;
 a=10;
 System.out.println(a);
 //int类型的取值范围
  System.out.println(Integer.MAX_VALUE);
  System.out.println(Integer.MIN_VALUE);

int类型在任何系统下都是4个字节,赋值给变量时,不能超过它的最大范围,int的包装类型为Integer。


7.1.2 长整型变量

java 复制代码
long a=10L;//为了区分int和long类型,一般在long类型变量之后加L或者l(但与1类似不建议)
//long类型的取值范围
System.Out.println(Long.MIN_VALUE);
System.Out.println(Long.MAX_VALUE)

long类型在任何系统下都是8个字节,赋值给变量时,不能超过它的最大范围,long的包装类型为Long。


7.1.3 短整型变量

java 复制代码
short a=10;
// short型变量所能表示的范围:
System.Out.println(Short.MIN_VALUE);
System.Out.println(Short.MAX_VALUE);

short在任何系统下都占2个字节,赋值给变量时,不能超过它的取值范围 ,short的包装类型为Short。


7.1.4 字节型变量

java 复制代码
byte a =10;
// byte型变量所能表示的范围:
System.Out.println(Byte.MIN_VALUE);
System.Out.println(Byte.MAX_VALUE);

byte在任何系统下都占1个字节,赋值给变量时,不能超过它的取值范围 ,byte的包装类型为Byte。


7.2浮点型变量

7.2.1双精度浮点型

java 复制代码
double b=3.14

接下来我们思考下列代码的结果是相同的吗?

java 复制代码
int a=1;
int b=2;
System.out.println(a/b);//输出0,如果想输出0.5该如何该呢?如下
double c=1.0;
System.out.println(c/b);//输出0.5

double在任何系统下都占8个字节,赋值给变量时,不能超过它的取值范围 ,double的包装类型为Double。


7.2.2 单精度浮点型

java 复制代码
float a=3.14;

同学们,想想这样定义对吗?实际上,这样定义是错误的,输入一个小数,计算机默认它的值都为double类型的,如果我们要定义float类型的,应该尾部加上f。

java 复制代码
float a = 3.14f; // 写作 1.0F 也可以

float在任何系统下都占4个字节,赋值给变量时,不能超过它的取值范围 ,float的包装类型为Float。


7.3字符类型

java 复制代码
char c1 = 'A'; // 大写字母
char c2 = '1'; // 数字字符
char c3 = '帅';//汉字字符

计算机中的字符本质上是一个整数. 在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符. 因此一个字符占用两个字节, 表示的字符种类更多, 包括中文。


7.4布尔类型

java 复制代码
boolean a = true;

boolean 类型的变量只有两种取值, true 表示真, false 表示假.Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法。


7.5 类型转换

Java作为一个强类型编程语言, 当不同类型之间的变量相互赋值的时候, 会有教严格的校验。

java 复制代码
int a=10;
long b=100;
b=a;//int类型赋值给long类型,可以编译成功
a=b;//long类型赋值给int类型,编译不成功
a=(int)b//强制数据类型转换,可能会造成数据丢失

7.5.1 类型提升

int 与long之间,int类型会被提升为long类型

java 复制代码
int a=10;
long b=20;
int c=a+b;//int类型与long类型相加,会提升为long+long,再赋值给int类型的c,会造成数据丢失,会出现编译错误
long d=a+b;

再看一段代码:

java 复制代码
byte a = 10;
byte b = 20;
byte c = a + b;//编译报错,当计算的类型是小于int类型的时候,计算机会默认转换为int类型进行计算,再赋值给byte时会造成数据丢失

7.6字符串类型

java 复制代码
String s1 = "hello";
String s2 = " world";
System.out.println(s1+s2); //进行字符串拼接,输出hellowold

7.6.1int类型转换为String类型

java 复制代码
int a=10;
String str=a+"";//方法一
String str2=String.valueOf(a);

7.6.2String类型转换为int类型

java 复制代码
String str="10"
int a=Integer.parsenlnt(str);

8.运算符

什么是运算符呢?Java中运算符可分为以下:算术运算符(+ - * / %)、关系运算符(< > ==)、逻辑运算符、位运算符、移位运算符以及条件运算。

8.1 算数运算符

就是基本的四则运算符:+ - * / %

java 复制代码
int a = 3;
int b = 2;
System.out.println(a + b); // 5
System.out.println(a - b); // 1
System.out.println(a * b); // 6
System.out.println(a / b); // 1,取整
System.out.println(a % b); //1,取模

值得注意的是:做除法和取模时,右操作数不能为0,% 不仅可以对整型取模,也可以对double类型取模,但是没有意义。


8.2自增自减运算符

前置++:先加1,再使用

后置++:先使用,再++

前置--:先减1,再使用

后置--:先使用,再--

java 复制代码
int a=3
b=a++//b的输出结果为3
b=++a//b的输出结果为4
b=a--//b的输出结果为3
b=--a//b的输出结果为2

8.3关系运算符

关系运算符主要有六个: == != < > <= >= ,其计算结果是 true 或者 false 。

java 复制代码
int a = 10;
int b = 20;
// 注意:在Java中 = 表示赋值,要与数学中的含义区分
// 在Java中 == 表示相等
System.out.println(a == b); // false
System.out.println(a != b); // true
System.out.println(a < b); // true
System.out.println(a > b); // false
System.out.println(a <= b); // true
System.out.println(a >= b); // false

8.4逻辑运算符

逻辑运算符主要有三个: && || ! ,运算结果都是 boolean类型。
&&:

语法规则:表达式1 && 表达式2,左右表达式必须是boolean类型的结果。两个表达式都为真,结果才为真
||:

语法规则:表达式1 || 表达式2,左右表达式必须是boolean类型的结果。两个表达式至少有一个为真那么结果就为真。
! :

语法规则:! 表达式。真变假,假变真。

java 复制代码
int a = 1;
int b = 2;
System.out.println(a == 1 && b == 1); //左为真 但 右为真假则结果为假
System.out.println(a == 1 || b == 1); //左为真 但 右为真假则结果为真
System.out.println(a != 1);//结果为假

接下来我们再看一段代码:

java 复制代码
System.out.println(10 > 20 && 10 / 0 == 0); // 打印 false
System.out.println(10 < 20 || 10 / 0 == 0); // 打印 true

短路求值:

我们都知道, 计算 10 / 0 会导致程序抛出异常. 但是上面的代码却能正常运行, 说明 10 / 0 并没有真正被求值。对于 && , 如果左侧表达式值为 false, 则表达式结果一定是 false, 无需计算右侧表达式。对于 ||, 如果左侧表达式值为 true, 则表达式结果一定是 true, 无需计算右侧表达式。& 和 | 如果表达式结果为 boolean 时, 也表示逻辑运算. 但与 && || 相比, 它们不支持短路求值。


8.5移位运算符

移位运算符有三个: << >> >>> ,都是二元运算符,且都是按照二进制比特位来运算的。
左移<<:

最左侧不要,最右侧补0

java 复制代码
int a=10;
System.out.printf("%d\n", a << 1)//输出结果为20

右移>>:

最右侧位不要了, 最左侧补符号位(正数补0, 负数补)

java 复制代码
int a=-10;
System.out.printf("%d\n", a >>1)//输出结果为-5

无符号右移>>>:

最右侧位不要了, 最左侧补 0

java 复制代码
int a=-10;
System.out.printf("%d\n", a >>>1)//输出结果为2147483643
  1. 左移 1 位, 相当于原数字 * 2. 左移 N 位, 相当于原数字 * 2 的N次方.
  2. 右移 1 位, 相当于原数字 / 2. 右移 N 位, 相当于原数字 / 2 的N次方.
  3. 由于计算机计算移位效率高于计算乘除, 当某个代码正好乘除 2 的N次方的时候可以用移位运算代替.
  4. 移动负数位或者移位位数过大都没有意义.

8.6条件运算符

格式:表达式1?表达式2:表达式3

表达式1为布尔类型,如果为真,返回表达式2,否则返回表达式3

java 复制代码
int a = 10;
int b = 20;
int c=a>b?a:b//表达式不能单独存在,其产生的结果必须要被使用。不能写成a>b?a:b

9.总结

这篇文章主要介绍了Java最基础的知识包括:注释,标识符,数据类型,变量,常量,各种运算符等等。

下期预告:分支与循环

相关推荐
Anesthesia丶1 分钟前
基于 Qwen3-TTS 的多语言智能配音 Web 应用(Qwen3 TTS Studio)
python·ai·qwen-tts·agci
znsoft9 分钟前
MaClaw(码卡龙)技术拆解:一个 Go + React 的可自进化智能体平台
开发语言·react.js·golang
the局外人10 分钟前
Python 中使用 SSE 实现大模型流式输出
后端·python·llm
captain3761 小时前
MyBatis Plus(1)
java·服务器·mybatis
桑年1 小时前
四、Pandas数据处理
人工智能·python·线性代数·pandas·数据可视化·数据处理
香蕉大香蕉(06敬畏市场)1 小时前
MySQL 单点详解(08)
java·数据库·mysql·面试·八股
thefool1122661 小时前
HTTPS协议
java
第九序言T1 小时前
Python 数据处理进阶(二十四)把脚本变成工具:argparse、logging 与定时任务
python·自动化·pandas
acd120091 小时前
Nginx 反向代理的缓冲区坑:后端响应大时接口偶发 502
java·运维·nginx
装不满的克莱因瓶1 小时前
支付订单成功异步MQ权益发放设计和开发
java·架构·系统架构·rabbitmq·硬件架构