【Java初阶(一)】初识Java

PU-YUHAN 2024-07-01 17:35:02 阅读 92

❣博主主页: 33的博客❣

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

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

目录

1. 前言2.Java的概念2.1第一个Java程序2.2运行java程序

3.注释4. 标识符5.常量6. 数据类型7. 变量7.1整型变量7.1.1 整型变量7.1.2 长整型变量7.1.3 短整型变量7.1.4 字节型变量

7.2浮点型变量7.2.1双精度浮点型7.2.2 单精度浮点型

7.3字符类型7.4布尔类型7.5 类型转换7.5.1 类型提升

7.6字符串类型7.6.1int类型转换为String类型7.6.2String类型转换为int类型

8.运算符8.1 算数运算符8.2自增自减运算符8.3关系运算符8.4逻辑运算符8.5移位运算符8.6条件运算符

9.总结

1. 前言

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

本章重点:

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


2.Java的概念

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

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


2.1第一个Java程序

public class HelloWorld{

public static void main(String[] args){

System.out.println("Hello World");

}

}

在这里插入图片描述

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

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

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


2.2运行java程序

在这里插入图片描述

.使用记事本或者IDEA编写Java源程序使用Javac 文件名.java编译生成xxx .class的字节码文件使用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.常量

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

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


6. 数据类型

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

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

在这里插入图片描述


7. 变量

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

语法格式:

数据类型 变量名=初始值;


7.1整型变量

7.1.1 整型变量

//方法一:定义时候赋值

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 长整型变量

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 短整型变量

short a=10;

// short型变量所能表示的范围:

System.Out.println(Short.MIN_VALUE);

System.Out.println(Short.MAX_VALUE);

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


7.1.4 字节型变量

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双精度浮点型

double b=3.14

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

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 单精度浮点型

float a=3.14;

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

float a = 3.14f; // 写作 1.0F 也可以

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


7.3字符类型

char c1 = 'A'; // 大写字母

char c2 = '1'; // 数字字符

char c3 = '帅';//汉字字符

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


7.4布尔类型

boolean a = true;

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


7.5 类型转换

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类型

int a=10;

long b=20;

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

long d=a+b;

再看一段代码:

byte a = 10;

byte b = 20;

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


7.6字符串类型

String s1 = "hello";

String s2 = " world";

System.out.println(s1+s2); //进行字符串拼接,输出hellowold

7.6.1int类型转换为String类型

int a=10;

String str=a+”“;//方法一

String str2=String.valueOf(a);

7.6.2String类型转换为int类型

String str="10"

int a=Integer.parsenlnt(str);


8.运算符

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

8.1 算数运算符

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

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,再使用

后置–:先使用,再–

int a=3

b=a++//b的输出结果为3

b=++a//b的输出结果为4

b=a--//b的输出结果为3

b=--a//b的输出结果为2


8.3关系运算符

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

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类型的结果。两个表达式至少有一个为真那么结果就为真。

! :

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

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);//结果为假

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

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

int a=10;

System.out.printf("%d\n", a << 1)//输出结果为20

右移>>:

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

int a=-10;

System.out.printf("%d\n", a >>1)//输出结果为-5

无符号右移>>>:

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

int a=-10;

System.out.printf("%d\n", a >>>1)//输出结果为2147483643

左移 1 位, 相当于原数字 * 2. 左移 N 位, 相当于原数字 * 2 的N次方.右移 1 位, 相当于原数字 / 2. 右移 N 位, 相当于原数字 / 2 的N次方.由于计算机计算移位效率高于计算乘除, 当某个代码正好乘除 2 的N次方的时候可以用移位运算代替.移动负数位或者移位位数过大都没有意义.


8.6条件运算符

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

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

int a = 10;

int b = 20;

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


9.总结

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

下期预告:分支与循环



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。