目录
编辑
1.前言
2.正文
2.1数据类型与变量
2.1.1字面常量
2.1.2数据类型
2.1.3变量
2.1.3.1整型
2.1.3.2浮点型
2.1.3.3字符型
2.1.3.4布尔型
2.1.4类型转换与类型提升
2.1.4.1字符串的拼接
2.1.4.2整型转字符串
2.1.4.3字符串转整数
2.2运算符
2.2.1算术运算符
2.2.2关系运算符
2.2.3逻辑运算符(关键)
2.2.4位运算符
2.2.5移位运算符
2.2.6条件运算符
2.3逻辑控制语句
2.3.1分支结构
2.3.2循环结构
3.基础应用
3.1判断素数
3.2判断闰年
3.3打印九九乘法表
3.4返回参数二进制中 1 的个数
3.5猜数字游戏
4.小结编辑
1.前言
哈喽小伙伴们大家好哦~从今天开始笔者就要开始正式学习java了,基础的语法语言之间都是很类似的,所以基础语法的博客就记录的凝练一些,创作的这些博客也算是一些学习笔记,又相当于给大家做知识分享咯,希望大家一起加油哦!
2.正文
2.1数据类型与变量
2.1.1字面常量
字面常量主要有以下几种,接下来我通过代码和注释给大家一一实现:
public class test1 { public static void main(String[] args) { System.out.println(123);//整型常量 System.out.println(12.3);//浮点型常量 System.out.println('a');//字符常量 System.out.println("abc");//字符串常量 System.out.println(true);//布尔常量 }}
打印结果如下:
2.1.2数据类型
在java中,共有俩种数据类型,分别是基本数据类型与引用数据类型。这俩大类分类的标准是基本数据类型是Java中预定义的,而引用数据类型是指向内存中的一个对象,以此来区分。
2.1.3变量
变量的创建方法: 数据类型 变量名 = 初始值;(下文代码均有体现)
2.1.3.1整型
整型共包括四种:
字节型:type,占用一个字节,范围-128~127,包装类型为Type短整型:short,占用俩个字节,范围-32768 ~ 32767,包装类型为Short整型:int,占用四个字节,范围-~-1,包装类型为Interger长整形:long,占用八个字节,范围-~-1,包装类型为Long其中整型是由符号的,整型默认为int型
代码演示:
public static void main(String[] args) { byte a = 5; short b = 10; int c = 15; long d = 20; System.out.println(a); System.out.println(b); System.out.println(c); System.out.println(d); }
运行结果:
有关这四种类型的互相转换需要特别讲解一下,让我们先来看下面这段代码:
public static void main(String[] args) { byte a = 10; byte b = 20; int c = a + b; System.out.println(c); }
该代码段将byte字节型的变量转化为int整型变量,将一个字节的内容转化成四个字节存储的内容,显然没有问题。
但接下来这段代码如果把进程颠倒过来,事情就发生了转变,请看:
public static void main(String[] args) { byte a = 10; int b = 129; a = (byte)b; System.out.println(a); }
打印结果却不是我们想要的129,而是-127。
也许有些同学会疑惑 ,为什么打印出来的不是我们想要的结果呢。原因很简单,因为int作为整型变量占有四个字节,强制转换仅占一个字节byte类型会丢失后面三个字节的内容,从而结果有误。所以在这里,博主建议,非必要尽量避免类型的强制转化,有些错误可能当时没有发生,但这就是埋藏的一颗雷,时刻可能出问题。
更加详细的类型提升与类型转换在下文还会有讲解。
2.1.3.2浮点型
浮点型包含俩种:
单精度浮点数:float,占四个字节双精度浮点数:double,占八个字节代码如下:
public static void main(String[] args) { double num = 1.1; System.out.println(num * num); float f = 12.5F; System.out.println(f); }
运行结果如下:
另外需要注意的点是如果俩个int型
2.1.3.3字符型
字符型只有一种char类型,占据俩个字节,包装类型为,接下来展示其具体应用。
public static void main(String[] args) { char ch1 = 'a'; char ch2 = '高'; System.out.println(ch1); System.out.println(ch2); Character c = 'p'; }
2.1.3.4布尔型
布尔型关键字为boolean,范围仅为true和false,而非1和0
public static void main(String[] args) { boolean b = true;//Boolean System.out.println(b); }
2.1.4类型转换与类型提升
2.1.4.1字符串的拼接
如果们想把俩个简单的字符串相连,仅仅只需要+即可,代码如下:
public static void main(String[] args) { String str = "hello"; String str2 = "word"; System.out.println(str+str2); System.out.println(str.length());//用于查询字符串长度 System.out.println(str.charAt(0));//用于查询字符串的第n位的字符 }
运行结果如下:
2.1.4.2整型转字符串
将整型转化为字符串有俩种办法:
一是之际利用+" "来实现二是基本数据类型都可以通过String.valueOf()方法转化为字符串表示形式代码展示如下:
public static void fun() { int a = 123; String str = a+""; System.out.println(str); System.out.println("========"); String str1 = String.valueOf(a); System.out.println(str1); }
2.1.4.3字符串转整数
public static void main(String[] args) { String str = "123"; int a = Integer.parseInt(str); System.out.println(a); }
2.2运算符
2.2.1算术运算符
算术运算符自然包括一些我们熟知的加减乘除模,接下来我进行总结:
加法运算符 (+
):
int a = 10;int b = 5;int sum = a + b; // sum = 15String str = "Hello, " + "World!"; // str = "Hello, World!"
减法运算符 (-
):
int a = 10;int b = 5;int difference = a - b; // difference = 5
乘法运算符 (*
):
int a = 10;int b = 5;int product = a * b; // product = 50
除法运算符 (/
):
int a = 10;int b = 5;double quotient = (double) a / b; // quotient = 2.0
取模运算符 (%
):
int a = 10;int b = 3;int remainder = a % b; // remainder = 1
自增运算符 (++
):
int a = 5;a++; // 后缀,a = 6++a; // 前缀,a = 7
自减运算符 (--
):
int a = 5;a--; // 后缀,a = 4--a; // 前缀,a = 3
以上许多在大部分语言中都类似,一些细微的差别主要区分在细节上。
2.2.2关系运算符
关系运算符用于比较两个值,并返回一个布尔值(true
或 false
)。以下是Java中的关系运算符及其用法:
等于 (==
):
int a = 5;int b = 5;boolean result = (a == b); // result = true
不等于 (!=
):
int a = 5;int b = 10;boolean result = (a != b); // result = true
大于 (>
):
int a = 5;int b = 3;boolean result = (a > b); // result = true
(大于,小于,大于等于,小于等于类似在这里不一一列举)
2.2.3逻辑运算符(关键)
逻辑与 (&&
):
true
时,结果才为 true
。它是短路运算符,如果第一个表达式为 false
,则不会评估第二个表达式。 boolean a = true;boolean b = false;boolean result = (a && b); // result = false
逻辑或 (||
):
true
,结果就为 true
。它也是短路运算符,如果第一个表达式为 true
,则不会评估第二个表达式。 boolean a = true;boolean b = false;boolean result = (a || b); // result = true
逻辑非 (!
):
true
转换为 false
,将 false
转换为 true
。 boolean a = true;boolean result = (!a); // result = false
逻辑异或 (^
):
true
。它不是短路运算符,无论第一个表达式的值如何,都会评估第二个表达式。 boolean a = true;boolean b = false;boolean result = (a ^ b); // result = true
条件运算符 (?:
):
int a = 10;int b = 20;int max = (a > b) ? a : b; // max = 20
2.2.4位运算符
位与 (&
):
int a = 12; // 1100int b = 9; // 1001int result = a & b; // 1000 (8)
位或 (|
):
int a = 12; // 1100int b = 9; // 1001int result = a | b; // 1101 (13)
位异或 (^
):
int a = 12; // 1100int b = 9; // 1001int result = a ^ b; // 0101 (5)
位非 (~
):
int a = 9; // 1001int result = ~a; // 0110 (-10)
2.2.5移位运算符
左移 (<<
):
int a = 9; // 1001int result = a << 2; // 100100 (36)
右移 (>>
):
int a = -9; // 11111111111111111111111111110111 (32位补码)int result = a >> 2; // 11111111111111111111111111111101 (-3)
无符号右移 (>>>
):
int a = -9; // 11111111111111111111111111110111 (32位补码)int result = a >>> 2; // 00111111111111111111111111111101 (1073741825)
2.2.6条件运算符
条件运算符只有一个三目运算符:
表达式为:条件表达式 ? 表达式1 : 表达式2。
这里的“条件表达式”是一个返回布尔值的表达式,如果条件表达式的结果为true
,则整个三目运算符的结果为“表达式1”的值;如果条件表达式的结果为 false
,则结果为“表达式2”的值。 int a = 10;int b = 20;int max = (a > b) ? a : b; // max = 20,因为 a 不大于 b
2.3逻辑控制语句
2.3.1分支结构
if语句:
用于在满足特定条件时执行一段代码。if (condition) { // 当条件为true时执行的代码}
if-else语句:
用于在条件为真时执行一段代码,条件为假时执行另一段代码。if (condition) { // 当条件为true时执行的代码} else { // 当条件为false时执行的代码}
if-else if-else语句:
用于在多个条件之间进行选择,并执行相应的代码块。if (condition1) { // 当条件1为true时执行的代码} else if (condition2) { // 当条件1为false且条件2为true时执行的代码} else { // 当所有条件都不为true时执行的代码}
switch语句:
用于根据变量的值选择执行不同的代码块。部分版本中中,switch语句支持字符串和箭头(->)语法。switch (expression) { case value1: // 当expression的值等于value1时执行的代码 break; case value2: // 当expression的值等于value2时执行的代码 break; default: // 当expression的值不匹配任何case时执行的代码}
2.3.2循环结构
for循环:
用于已知循环次数的情况。例如,打印0到9的数字:
for (int i = 0; i < 10; i++) { System.out.println(i);}
while循环:
用于循环次数未知,但有一个继续执行循环的条件。例如,当变量i小于10时继续循环:
int i = 0;while (i < 10) { System.out.println(i); i++;}
do-while循环:
类似于while循环,但它至少执行一次循环体,即使条件为假。例如,至少打印一次变量i的值,然后检查i是否小于10:
int i = 0;do { System.out.println(i); i++;} while (i < 10);
3.基础应用
以下题目供基础语法训练时使用,仅提供代码
3.1判断素数
import java.util.Scanner;import java.lang.Math;public class test1 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int flag = 1; for(int i = 2;i < Math.sqrt(n);i++){ if(n % i ==0){ System.out.println(n + "不是素数"); flag = 0; break; } } if(flag==1){ System.out.println(n + "是素数"); } }}
3.2判断闰年
import java.util.Scanner;import java.lang.Math;public class test1 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入需要判断的年份"); int n = scanner.nextInt(); if(n % 4 ==0||n % 400 == 0){ System.out.println("该年份为闰年"); } else{ System.out.println("该年份不是闰年"); } }}
3.3打印九九乘法表
import java.util.Scanner;import java.lang.Math;public class test1 { public static void main(String[] args) { int n = 9; for(int i = 1;i <= 9;i++){ for(int j = 1;j <= i;j++){ System.out.printf("%d * %d = %d ",i ,j, i*j); } System.out.println(); } }}
3.4返回参数二进制中 1 的个数
import java.security.DrbgParameters;import java.util.Scanner;import java.lang.String;public class test1 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int number = scanner.nextInt(); int ans = 0; String binaryString = Integer.toBinaryString(number); char[] str1 = binaryString.toCharArray(); for(int i = 0;i <binaryString.length() ;i++){ if(str1[i] == '1')ans++; } System.out.println(ans); }}
3.5猜数字游戏
import java.util.Scanner;import java.lang.String;import java.util.Random;public class test1 { public static void main(String[] args) { Random random = new Random(); Scanner scanner =new Scanner(System.in); int min = 1;int max = 100; int num = random.nextInt(max - min + 1) + min;; int n = 0; while(n!=num){ System.out.println("请输入你要猜的数字"); n = scanner.nextInt(); if(n > num){ System.out.println("输入数字大,请重新输入"); continue; } if(n < num){ System.out.println("输入数字小,请重新输入"); continue; } if(n == num){ System.out.println("恭喜你!猜对了"); break; } } }}
4.小结
今天的java基础知识分享到这里就结束了,博主也是码了好多字,希望大家多多支持我哦。