首页 > 编程语言 >Java基础语法

Java基础语法

时间:2023-06-30 20:33:32浏览次数:37  
标签:Java 基础 System 语法 println false true 表达式 out

1、Java的八种基本数据类型

1、byte  1字节  取值范围:-128~127

2、short  2字节  取值范围:-32768~32767

3、int  4字节  取值范围:-231~231-1  # int是开发中最常用的,也是Java中默认的数据类型

4、long  8字节  取值范围:-263~263-1  #声明超过int取值范围的long类型的数据的时候,在值的上面加L或者l,否则报错。

例:long l1 = 28299228;  long l2 = 27828299292929L;

5、float  4字节  #声明float类型数据的时候,需要加f后者F  float的有效位数为8位

例:float f2 = 1.23456789123f;  System.out.println(f2);  //1.2345679

  float f3 = 2828.8989898989f;  System.out.println(f3);  //2828.899

6、double  8字节  有效位数为16位。

7、char  2字节  #字符类型的数据使用单引号进行引起来,而且单引号中只能有一个元素

例:char ch1 = '上';  char ch2 = 'k';

8、boolean  1字节  值为true或false

2、类和变量的命名规范

类的命名:

1.首字母大写

2.如果有多个单词组成的类名 采用大驼峰的命名规则 HelloWorld SingleDog

变量的命名:

1.变量的命名可以使用 数字,字母,_,$等组成,但是不能以数字开头

2.首字母不能大写

3.采用的是小驼峰命名规则 或者采用下划线连接多个单词的写法

4.命名一定要见名知意

5.已经被Java预留的关键不能再作为变量的名字了

3、转义字符

目的: 将一个无意义的字符转为有意义的字符或者将一个有意义的字符转为无意义的字符

语法格式:

\字符(有特殊意义的字符或者无特殊意义的字符)

两个特殊的符号:

\t: 制表符 空格

\n: 换行

4、运算符

1、算术运算符

+  -  *  \

注:算数运算中,两个整数类型的的数,“\”运算的值为结果的整数部分,小数部分舍弃

int m=20, n=3;
System.out.println(m/n); 结果:6

+=  -=  *=  /=  %=

a+=b是a=a+b的简写,后面其他三项同理

自增与自减  变量++  ++变量  变量--  --变量

变量++;先执行当前操作,后变量自身+1

int b=3;
        System.out.println(b++);  //3  #先执行输出变量b的操作,后变量b的值+1
        System.out.println(b);  //4  
int a = 5;
        int i = 5;
        // a = 5  + 6 + 8 + 9
        a = i++  + i++ + ++i + ++i;
        System.out.println(a);//28
        System.out.println(i);//9
        //a = 9 + 9 + 9
        a = i-- + ++i + i++;
        System.out.println(a);//27

2、关系运算符

>  <     >= (大于等于)    <=(小于等于)   !=(不等于)  ==(等于)

语法格式:  boolean 变量名字 = 值1 关系运算符 值2;

boolean ret1 = 3 > 4;
        System.out.println(ret1);//false
        boolean ret2 = (5 > 1);
        System.out.println(ret2);//true
        boolean ret3 = 4 >= 3;
        System.out.println(ret3);//true
        boolean ret4 = 5 == 5;
        System.out.println(ret4);
        boolean ret5 = 6!=6;
        System.out.println(ret5);//false

3、逻辑运算符

&&  

语法格式:  关系运算符的表达式1 && 关系运算符的表达式2
        //如果表达式都为true的时候整体结果i就为true。如果有一个表达式为false,那么整体就为false
        boolean ret = (3 > 4) && (4 > 2);
        System.out.println(ret);//false
        
        boolean ret1 = (5 >1) && (3 >2) && (9 >= 7);
        System.out.println(ret1);//true

||

boolean ret1 = 3 > 4 || 5 >3;
        //||  或是只要有一个为true 则整体为true。 两个都是false才为false
        System.out.println(ret1);//true
        
        boolean ret2 = 5 < 3 || 7 < 2 || 7 < 4;
        System.out.println(ret2);//false

非: !

boolean ret3 = !(3 > 4);//取反
        System.out.println(ret3);  //true

逻辑与的短路原则:

条件1 && 条件2 && 条件3&&... 只要有一个为false整体就为false

注意: 条件1为false的话,已经确定整体为false,后面的条件就不再运行。

逻辑或的短路原则

条件1 || 条件2 ||...

只要一个为true,整体就为true了。

注意: 如果条件1 为true的话,后面的条件就不再执行,因为条件1为true的话

已经确定整体的结果了,后面的条件结果不会影响整体的结果了。所以直接短路

     //逻辑与的短路原则
        int num = 10;
        boolean ret1 = (3 < 2) && (++num > 12);
        System.out.println(ret1);//false
        System.out.println(num);//10  
        //逻辑或的短路原则
        int num1 = 10;
        boolean ret2 = (3 > 2) || (++num1 > 90);
        System.out.println(ret2);//true
        System.out.println(num1);//10

5、分支结构

1、if 分支

语法格式:

if (表达式) {
  语句体
  }

表达式: 一定返回值是布尔类型数据的表达式。(关系运算符表达式和逻辑运算符表达式)

执行流程:首先进入if 判断if后面小括号中的表达式的值 如果为true 则执行后面大括号中的语句体。

如果为false,就不执行大括号中的二语句体,代码要继续往下执行

int a = 3;
        if (a < 1) {//小括号中的表达式的结果决定这大括号里面是否执行
            System.out.println("嘻嘻,3 大于1");
        }
        System.out.println("代码执行结束");

2、if-else分支

语法格式:   

if (表达式) {
  语句体1
  } else {
  语句体2
  }

执行流程:判断表达式,如果表达式为true,执行语句体1。如果表达式为false 执行语句体2

两者只能选其一

        int money = 30;//口袋里面有30块钱
        //如果口袋里面的钱超过了20,打印我就吃顿好的。鲍鱼
        //如果口袋里面的钱没有超过了20,打印就凑合一下。泡面
        if (money > 20) {
            System.out.println("我就吃顿好的。鲍鱼");
        } else {
            System.out.println("就凑合一下。泡面+加肠");
        }            

3、if-else if 分支

语法格式:

if (表达式1) {
    语句体1
} else if (表达式2) {
 语句体2
} else if (表达式3) {
 语句体3
}else if (表达式4) {
 语句体4
}else {
 语句体n
}

执行流程: 如果碰到if后面的小括号中的表达式的值为true的时候,就执行对应大括号中的语句体。其他语句体一概不执行,若所以判断条件均未通过,执行else后的语句体。

多种条件只能选择其一  例:

如果语文成绩大于80分且数学成绩大于80分,打印给奖学金

如果语文成绩小于80分大于60且数学成绩大于60分小于80,打印及格

如果语文成绩小于30分且数学成绩小于30分,打印重修

        int chineseScore = 89;//语文成绩
        int mathScore = 29;//数学成绩
        /**chineseScore >= 80 && mathScore >= 80
         * 89>=80 && 29>=80    true && false 整体结果就是false
         * 
         */
        if (chineseScore >= 80 && mathScore >= 80) {
            System.out.println("给奖学金");
        } else  if ((chineseScore >= 60 && chineseScore < 80) && (mathScore >= 60 && mathScore < 80)) {
            System.out.println("及格");
        } else if (chineseScore< 30 && mathScore < 30) {
            System.out.println("重修");
        } else {
            System.out.println("继续努力!!!有一门需要努力");
        }

4、switch-case分支

只有当满足当前的条件的时候才会执行前的语句体

语法格式:

switch  (表达式) {//表达式  结果是一个具体的值  不是布尔类型的值
 case 常量1:
     语句体1;
     break;
 case 常量2:
     语句体2;
     break; 
 case 常量3:
     语句体3;
     break;
   ...
 default://其他的情况
     语句体n;
     break;
}

执行流程:

首先计算表达式的值,拿到这个值以后去和case后面的常量去匹配。如果发现一致。就执行当前语句体

        int score = 28;
        //找规律:  90~100    91/10=9   92/10 =9  99/10=9
        //87/10=8  81/10=8
        switch (score / 10) {
        case 10:
            System.out.println("优秀");
            break;
        case 9:
            System.out.println("优秀");
            break;
        case 8:
            System.out.println("良好");
            break;
        case 7:
            System.out.println("一般");
            break;
        case 6:
            System.out.println("及格");
            break;
        default:
            System.out.println("不及格,要努力");
            break;
        }

注:swicth表达式中,常量的值可取的数据类型

  byte  short  int  char  String   枚举(jdk1.8新特性

接收控制台的数据给 Java中某一个变量

1.导包
import java.util.Scanner;
2.创建一个对象  Scanner 对象
Scanner  scanner = new Scanner(System.in);
3.拿对象sc调用方法获取控制台的各种类型的数据
int a = scanner.nextInt();    //获取的是整数类型的

double a = scanner.nextDouble();    //获取的是小数类型的

boolean b1 = scanner.nextBoolean();    //获取的是布尔类型的

String str = scanner.next();    //获取的是字符串类型的

char ch1 = scanner.next().charAt(3);    //获取字符,依靠字符串来获取  获取控制台输入的字符串的4位字符

5、三目运算符

语法格式:数据类型  x = 表达式 ? 值1 : 值2;

执行流程: 先判断表达式 的真假,如果表达式为true的话,将值1赋值给变量x。如果表达式为false的话就会将值2赋值给变量x。

        int a1 = 20;
        int c1 = a1 > 50 ? 30 : 0;    //先判断 a1 > 50  的值,如果true 将30 f赋值c1  如果为false 将0 赋值给c1  
        System.out.println(c1);    // 0
                //等效于
        if ( a1 > 50) {
            c2 = 30;
        } else {
            c2 = 0;
        }        

6、循环结构

循环至少三个条件: 1.初始化条件 2.循环条件 3.终止条件

1、while循环

语法格式:

while (布尔表达式) {
    循环体;
}

执行流程:

如果代码执行到while以后,首先判读小括号中的布尔的表达式

如果布尔表达式为true,执行大括号中的循环体。然后再次到while

再次判断布尔表达式,

直到布尔表达式为false的时候,终止循环。

例:打印1 ~9这些数字

        int i = 1;
        while (i < 10) {
            System.out.println(i+" ");//刚好借助i的值 来完成输出
            i++;
        }
1 2 3 4 5 6 7 8 9

2、do-while

语法格式:

do {
循环体 
} while (布尔表达式);

执行流程:

首先代码走到 do

执行do后面大括号中的代码(循环体),然后执行while后面的布尔表达式,

判断布尔表达式

如果表达式为true 的话,再次回到do 执行循环体,然后执行while后面的布尔表达式

判断布尔表达式

直到布尔表达式为false的话,循环结束

        int i = 9;
        do {
            System.out.println("hello");
            i++;
        } while (i < 3);

注:while 循环和do-while的区别-->while先判断根据判断的结果后执行, do-while 先执行后判断

3、for循环

语法格式:

for (表达式1; 表达式2; 表达式3) {
 循环体;
}

表达式1:初始化的值   表达式2:终止条件   表达式3:循环条件

执行流程: 先执行表达式1

然后执行表达式2进行判断

如果表达式2为true,执行后面大括号中的代码,然后再执行表达式3,

回去执行表达式2进行判断

如果为true 继续执行后面大括号中的代码,执行后面大括号中的代码,执行表达式3。

再次判断表达式2,直到表达式2位false 大括号中的代码不再执行

        for (int i=0;i<10;i++){
            System.out.print(i+" ");
        }
0 1 2 3 4 5 6 7 8 9

4、嵌套循环

循环中嵌套另外一个循环

例:打印直角三角形

        for (int i = 1; i < 5; i++) {//控制的行 4行
            for (int j = 1; j <= i; j++) {//控制的列   让你
                System.out.print("* ");
            }
            System.out.println();
        }
* 
* * 
* * * 
* * * * 

标签:Java,基础,System,语法,println,false,true,表达式,out
From: https://www.cnblogs.com/y15136702274/p/17512692.html

相关文章

  • Mysql基础篇(二)之函数和约束
    一.函数Mysql中的函数主要分为四类:字符串函数、数值函数、日期函数、流程函数1.字符串函数常用函数如下:函数功能CONCAT(S1,S2,......Sn)字符串拼接,将S1,S2,.....Sn拼接成一个字符串LOWER(str)将字符串str全部转为小写UPPER(str)将字符串str全部转为大写......
  • java流程控制
    一、Scanner对象java的一个工具类用来获取用户输入使用方式:导入java.util.Scanner包就能使用基本语法Scanners=newScanner(System.in);通过Scanner类的next()与nextLine()方法获取输入字符串读取值之前我们一般需要使用hasNext()与hasNextLine()判断是......
  • 体系化学习Java(Java面试专题)
    tip:此贴为目录贴,定期更新toNew:时间是最好的答案,它能解决所有问题。坚持!!!**本文章旨在总结Java的知识生态以及帮助需要学习者和求职者,本人从事应用安全和大数据领域,有8年开发经验,5年面试官经验,Java技术专家,有技术相关问题和面试相关问题均可以留言讨论。......
  • java http大文件断点续传分片上传
    ​ 这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数下面直接贴代码吧,一些难懂的我大部分都加上注释了:上传文件实体类:看得出来,实体类中已经有很多我们需要的功能了,还有实用的属性。如MD5秒传的信息。pub......
  • 接口签名规则和Java实现签名和验签代码
    接口签名规则和Java实现签名和验签代码签名规则 签名生成的通用步骤如下: 第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。 特别注意以下重要规则: ◆......
  • 2023.6.30//关于java链接SQLserver数据库报错:驱动程序无法通过使用安全套接字层(SSL)
    详情如下:驱动程序无法通过使用安全套接字层(SSL)加密与SQLServer建立安全连接。错误:“PKIXpathbuildingfailed:sun.security.provider.certpath.SunCertPathBuilderException:unabletofindvalidcertificationpathtorequestedtarget”。ClientConnectionId:32d1......
  • JavaScript aglo 算法 时间复杂度
    https://www.bigocheatsheet.com/https://www.hello-algo.com/chapter_preface/about_the_book/ gpt的回答好的,下面给出这些算法的JavaScript例子,并给出它们的时间复杂度分析:O(1)-常数时间复杂度:javascriptCopyCodefunctionconstantTimeAlgorithm(n){return2+......
  • laytpl( Layui 的一款轻量 JavaScript 模板引擎)html标签点击事件传递多参
     <scripttype="text/html"id="aobjectvalue_temp"><spanclass="us-font-blue"style="cursor:pointer"onclick="seeinfo('{{d.aobjectkey}}','{{d.atype}}')">[资源详情]</spa......
  • 【c++基础】位域结构体
    前言code#include<iostream>typedefstruct{unsignedinta:5;unsignedintb:3;}tBits;intmain(){tBitsaa;aa.a=205;//11001101aa.b=89;//01011001std::cout<<"a:"<<aa.a<<......
  • java操作redis
    加依赖<!--redis依赖--><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version></dependency>pub......