【java】java入门

embedded/2025/1/17 20:16:40/

盘符名称+冒号---------盘符切换

dir---------------查看当前路径下的内容

cd目录--------进入单级目录

cd..----------回退到上一级目录

cd \----------回退到盘符目录

cls----------清屏

exit

为什么要配环境变量?

在任意的目录下都可以打开指定的软件。把软件的路径配置到环境变量中

基础语法

java">public class Helloword{public static void main(String[] arg{System.out.println("HelloWorld");    
}

命令行窗口,找到代码所在的文件目录

javac HelloWorld.java

编译,会在该文件夹下产生HelloWorld.class(字节码文件)

java HelloWorld

运行,当前目录下的HelloWorld.class这个文件,在运行时候不加后缀名

注释和关键字

注释

java">public class HelloWorld{public static void main(String[] args){//输出HelloWorldSystem.out.println("HelloWorld");//求数组中的最大值int [] arr = {10,20,50,70,200,90};int max = arr[0];for (int i = 0;i<arr.length;i++){if(arr[i]>max){max=arr[i];}}System.out.println(max);}
}

单行注释

多行注释

文档注释

关键字

java赋予了特定涵义的英文单词

特点:

关键字的字母全部小写

常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观

class

创建/定义一个类

字面量

告诉程序员:数据在程序中的书写格式

字面量类型:

  • 整数类型
  • 小数类型
  • 字符串类型

用双引号括起来的内容

  • 字符类型

用单引号括起来的,内容只能有一个

'A'   '0'   '我'

  • 布尔类型

布尔值,表示真假    只有两个值:true、false

  • 空类型

一个特殊的值,空值         值是:null

\t制表符

在打印的时候,把前面字符串的长度补齐到8位,或8的整数倍。最少补一个空格,最多补8个空格

null空类型不能直接打印

变量

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

只能存一个值

变量名不允许重复定义

一条语句可以定义多个变量

变量在使用之前一定要进行赋值

变量的作用域范围

二进制:由0和1组成,代码中以0b开头

十进制:由0~9组成,前面不加任何前缀

八进制:由0~7组成,代码中以0开头

十六进制:由0~9还有a~f组成,代码中以0x开头

数据类型

基本数据类型

数据类型关键字取指范围内存占用
整数

byte

short

int(默认)

long

-128~127

-32768~32767

-2147483648~2147483647(10位数)
-9223372036854775808~9223372036854775807(19位数)

1

2

4

8

浮点数

float

double(默认)

-3.40129e-38 ~ 3.402823e+38

-4.9000000e-324 ~ 1.797693e+308

4

8

字符char0~655352
布尔booleantrue、false

1

注意:如果要定义long类型的变量,在数据值的后面需要加一个L作为后缀

byte 取值范围

double>float>long>int>short>byte

long类型变量:需要加入L标识

float类型变量:需要加入F标识

java">public class ValueDemo1{public static void main(String[] args){String name="谢广坤";int age=18;char gender='男';double height=180.1;boolean flag=true;System.out.println(name);System.out.println(age);System.out.println(gender);System.out.println(height);System.out.println(flag);}
}

标识符

给类、方法、变量等起的名字

由数字、字母、下划线_和美元符$

不能以数字开头、

不能是关键字

区分大小写

小驼峰命名法:方法、变量

规范1:标识符是一个单词的时候,全部小写
name

规范2:标识符由多个单词组成的时候,第一个单词首字母小写,其他单词首字母大写

firstName

大驼峰命名法:类名

规范1:标识符是一个单词的时候,首字母大写

Student

规范2:标识符由多个单词组成的时候,每个单词的首字母大写

GoodStudent

键盘录入

Scanner

导包--Scanner这个类在哪

import java.util.Scanner;      

创建对象--表示我要开始用Scanner这个类了

Scanner sc = new Scanner(System.in);

接收数据

int i = sc.nextInt();

java">import java.util.Scanner;
public class ScannerDemo1{public static void main(String[] args){Scanner sc=new Scanner(System.in);System.out.println("请输入整数");int i = sc.nextInt();System.out.println(i);}}

键盘输入数字并求和

键盘录入两个两个整数,求出它们的和并打印出来

java">import java.util.Scanner;
public class ScannerTest{public static void main(String[] args){Scanner sc=new Scanner(System.in);System.out.println("请输入第一个数字");int number1 = sc.nextInt();System.out.println("请输入第二个数字");int number2=sc.nextInt();System.out.println(number1+number2);}}

IDEA

IntelliJ IDEA,用于Java语言开发的集成环境

IDEA项目结构介绍

project(项目)

        module(模块)

                package(包)

                        class(类)

在本地打开这个文件夹

快速生成main方法--psvm

输出语句---sout

运行

MarsCode
根据注释生成代码

修改bug

点击#,选择要修改的文件

设置字体

自动导包

自动提示,忽略大小写

Match case

IDEA的项目和模块操作

IDEA中类相关操作

新建类

右键包,New,Java Class

修改类名

右键,Refactor,Rename

删除类

右键,delete

IDEA中模块相关操作

新建模块

File,Project Structure,Model,点击+,New Model,选择Java,起名

删除模块

修改模块

导入模块

IDEA中项目相关操作

关闭项目

File,Close Project

新建项目

New Project,Empty Project,

打开项目

修改项目

运算符

对字面量或者变量进行操作的符号

表达式

用运算符把字面量或者变量链接起来,符合java语法的式子

算术运算符

加+、减-、乘*、除/、取模%

在代码中,如果有小数参与计算,结果有可能是不精确的

java">package com.yufei.demo1;public class demo1 {public static void main(String[] args) {System.out.println(10/3);System.out.println(10.0/3);}
}

键盘录入一个三位数,将其拆分为个位、十位、百位后,打印在控制台

java">package com.yufei.demo1;import java.util.Scanner;public class demo1 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int num=sc.nextInt();int a=num%10;int b=num/10%10;int c=num/100%10;/*int b=(num%100-a)/10;int c=(num%1000-num%100)/100;*/System.out.println(a);System.out.println(b);System.out.println(c);}
}

“+”操作的三种情况
数字相加
java">public class demo2 {public static void main(String[] args) {int a=10;double b=12.3;double e=20.0;double c=a+b;double f=a+b;System.out.println(c);System.out.println(e);}
}

数字进行运算时,数据类型不一样不能运算,需要转成一样的,才能运算

类型转换分类:

隐式转换(自动类型提升)(取值范围小的-->取指范围大的)

隐式转换的两种提升规则:

(1)取值范围小的,和取值范围大的进行运算,小的会先提升为大的,在进行运算

(2)byte short char三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算

java">package com.yufei.demo1;public class demo2 {public static void main(String[] args) {int a=10;double b=12.3;double c=a+b;System.out.println(c);byte e=10;byte f=20;int d=e+f;System.out.println(d);}
}


 

强制转换(取值范围大的-->取指范围小的)

byte最大才127,此时数据会发生错误

java">package com.yufei.demo1;public class demo3 {public static void main(String[] args) {byte b1=10;byte b2=20;byte result=(byte)(b1+b2);System.out.println(result);}
}
java">public class demo3 {public static void main(String[] args) {byte b1=100;byte b2=100;byte result=(byte)(b1+b2);System.out.println(result);//结果就发生错误了,因为要转换的数据过大}
}
字符串相加

当“+”操作中出现字符串时,这个“+”是字符串连接符,而不是算术运算符了。

会将前后的数据进行拼接,并产生一个新的字符串。

“123”+123                         “123123”

连续进行“+”操作时,从左到右逐个进行

java">System.out.println(3.7+"abc"); //"3.7abc"
System.out.println("abc"+true); //"abctrue"
System.out.println("中"+"abc"+true); //"中abctrue"int age=18;
System.out.println("我的年龄是"+age+"岁"); //"我的年龄是18岁"
System.out.println("我的年龄是"+"age"+"岁"); //"我的年龄是age岁"System.out.println(1+2+"abc"+2+1); //"3abc21"

数值拆分

java">package com.yufei.demo1;import java.util.Scanner;public class demo1 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.println("请输入一个三位数:");int num=sc.nextInt();int a=num%10;int b=num/10%10;int c=num/100%10;/*int b=(num%100-a)/10;int c=(num%1000-num%100)/100;*///System.out.println(a);System.out.println("个位是:"+a);//System.out.println(b);System.out.println("十位是:"+b);//System.out.println(c);System.out.println("百位是:"+c);}
}
字符相加

字符+字符

字符+数字

会把字符通过ASCII表查询到对应的数字在进行计算

A--65

a--97

java">public class demo3 {public static void main(String[] args) {char c='a';int result=c+0;System.out.println(result);}
}

java">System,out.println(1+'a'); //98
System,out.println('a'+"abc"); //aabc

注意:

/和%的区别:两个数做除法,/取结果的商,%取结果的余数

整数操作只能得到整数,要想要得到小数,必须有浮点数参与运算

自增自减运算符

a++先用后加

++a先加后用

java">public class demo3 {public static void main(String[] args) {int x=10;int y=x++;    //x=11,y=10int z=++x;    //x=12,z=12System.out.println("x:"+x);System.out.println("y:"+y);System.out.println("z:"+z);}
}

赋值运算符

=

+=

-=

*=

/=

%=

隐藏了一个强制转换

java">int a=10;
int b=20;
a+=b;
//a=(int)(a+b);short s=1;
s+=1;
//s=(short)(s+1);

关系运算符

关系运算符/比较运算符

逻辑运算符

Ctrl+D

赋值本行的内容到下一行

短路逻辑运算符

判断用户名并且判断密码

1.用户名正确,需要判断密码

2.用户名错误,无需判断密码

java">int a=10;
int b=10;
boolean result = ++a < 5 && ++b < 5;
system.out.println(result);    //false
system.out.println(a);    //11
system.out.println(b);    //10

数字6是一个真正伟大的数字,键盘录入两个整数。

如果其中一个为6,最终结果输出true

如果它们的和为6的倍数,最终结果输出为true

其他情况都是false

a==6  b==6  (a+b)%6==0

java">public class demo3 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.println("请输入第一个整数:");int num1 =sc.nextInt();System.out.println("请输入第二个整数:");int num2=sc.nextInt();boolean result= num1==6||num2==6||(num2+num1)%6==0;System.out.println(result);}
}

三元运算符

运算符优先级


http://www.ppmy.cn/embedded/154754.html

相关文章

什么是DNS缓存?DNS缓存有什么用?

DNS缓存在DNS解析过程中发挥了重要作用&#xff0c;有效提升了解析速度和访问体验。那什么是DNS缓存&#xff0c;DNS缓存有什么用呢&#xff1f;接下来国科云简单介绍下。 什么是DNS缓存&#xff1f; 标准的DNS解析过程&#xff0c;需要进行全球递归查询&#xff0c;依次去请…

Springboot(五十八)SpringBoot3使用Redisson实现接口的限流功能

这部分我记录一下我使用redission实现接口限流的全过程。 关于自定义注解&#xff0c;请移步《SpringBoot&#xff08;二十六&#xff09;SpringBoot自定义注解》 一&#xff1a;redission自定义限流注解主要流程 对接口实现限流&#xff0c;主要使用了Redisson提供的限流API方…

基于微信小程序的驾校预约管理系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

QT + Opencv 实现灰度模板匹配

QT Opencv 实现灰度模板匹配 实现思路 1.模板创建代码思路 1 初始化和准备&#xff1a; 使用 cv::buildPyramid 函数构建图像金字塔。图像金字塔是一种多分辨率表示&#xff0c;每个层级的图像分辨率逐步降低。 调整 m_TemplData 的大小以匹配图像金字塔的层级数。 计算每…

idea无法下载源码

1. 方式一 在项目下&#xff0c;项目根目录下 或 pom.xml同级目录中执行 mvn dependency:resolve -Dclassifiersources然后点击“download source”时就能看到源码了。

QT跨平台应用程序开发框架(3)—— 信号和槽

目录 一&#xff0c;基本概念 二&#xff0c;connect函数使用 2.1 connect 2.2 Qt内置信号和槽 2.3 一些细节 三&#xff0c;自定义信号和槽 3.1 自定义槽函数 3.2 自定义信号 3.3 带参数的信号槽 四&#xff0c;信号和槽的意义 五&#xff0c;信号和槽断开连接 六&…

【Hive】海量数据存储利器之Hive库原理初探

文章目录 一、背景二、数据仓库2.1 数据仓库概念2.2 数据仓库分层架构2.2.1 数仓分层思想和标准2.2.2 阿里巴巴数仓3层架构2.2.3 ETL和ELT2.2.4 为什么要分层 2.3 数据仓库特征2.3.1 面向主题性2.3.2 集成性2.3.3 非易失性2.3.4 时变性 三、hive库3.1 hive概述3.2 hive架构3.2.…

【机器学习:二十、拆分原始训练集】

1. 如何改进模型 模型的改进需求 在机器学习任务中&#xff0c;模型性能的提升通常受限于训练数据、模型架构、优化方法及超参数设置等。模型改进的目标是在测试数据上表现更优&#xff0c;避免过拟合或欠拟合。 常见的改进方向 增大训练数据集&#xff1a;通过数据增强或获…