java_入门基础笔记

java--输入输出与方法 本文介绍了Java中的输入与输出和方法,希望能给初学者带来帮助。 阅读详情

入门必须知道的快速补全快捷键:

        END:快速跳到行末

        SHIFT+回车:换行

        CTRL+ALT+T:快捷使用基本语法例如:for,while...

        输入 变量.sout:输出变量

        输入 main:快速写出主函数

1.注解
/*
    输入前两个回车就可以了
     */

//CTRL+shift+/  多行注释

/**+回车
 *
 */
2.\n换行  \t tab  字符串必须使用双引号

3.变量:数据类型+变量名称 = 初始值
    必须声明后使用
    变量声明后不能存储其他类型数据
    变量的有效范围从定义开始到}截至,在同一个范围内不能定义两个同名的变量
    变量定义时可以没有初始值,但是使用的时候必须有初始值

4.计算机最小的组成单位(字节byte简称B) 每个二进制称之为1位 1byte = 8b 1K = 1024 B
    常用的ascii A-65 a-97 0-48

5.16进制 0-9 ABCDEF  0B-二进制  0-八进制 0X-16进制

6.数据类型(随便输入的数字是一个int类型的,如果需要成为long类型的话需要在末端加上l/L)
    整数:byte -128-127  1个字节
         short -32768-32767
         int(默认) -2147483648-2147483647(10位数)
         long(19位数)
    浮点数:float (随便写的小数默认的是double类型的,需要成为float的话需要在末端加上F/f)
    字符:char
    布尔:Boolean
    引用数据类型:String

7.变量名称:首字母小写 驼峰模式
    类名称:首字母大写 驼峰模式

8.类型转换:
    自动类型转换:类型范围小的变量可以直接赋值给范围大的  例如:将byte类型的变量赋值给int类型的变量
    表达式的自动类型转换:表达式的最后结果类型由表达式的最高类型决定的  a=1+1.0  最高的类型是double
       在表达式中byte,short,char 是直接转换为int类型参与运算的

    强制类型转换:类型大的转化为类型小的 (数据类型) 变量2 = (数据类型) 变量1 byte b = byte a
        强制类型转换可能造成数据丢失(溢出)
        浮点型强制转换成整形,直接丢掉小数部分,保留整数部分返回

8.运算符:
    算术运算符:+ , - ,* ,/ ,%(求余)  +在字符串运算的时候用作连接符  +两边能算就算从左到右,不能算就相互拼接
        例子:数值拆分:先除到对应的位数 后求余 百位 x/100%10

    自增自减运算符:
        ++和-- 既可以放在变量的后边也可以放在变量的前边
        ++和-- 只能操作变量,不能操作字面量的
        如果是单独使用的话++和--的使用的效果是一样的但是在表达式中就不一样
            m=10 n=m++(n=10,m=11) / n=++m(n=11,m=11)
            ++和--在前面先把需要+1和减一的值先执行再使用(赋值)
            ++和--在后面先使用再+1/-1

    赋值运算符:=,+=,-=,*=,/=,%=  a+=b == a=(a的类型)(a+b)

    关系运算符:== ,!= ,> , >= , < , <= 返回true或者frase

    逻辑运算符:
        & 逻辑与 必须都是true 结果才是true 有一个false结果就是false
        | 逻辑或 只有一个为true 结果就为true
        !逻辑非 相反的意思,真的变成假的 ,假的变成真的
        ^ 逻辑异或 如果两个条件都是false或者都是true结果就是false , 两个条件不同的时候结果是true

        短路逻辑运算符:
            &&:短路与 判断和&一样 左边为false的时候右边不会执行
            ||:短路或 判断结果和|一样,左边为true的时候右边不执行

    三元表达式: 条件表达式?值1:值2;首先计算关系表达式,如果为true返回值1,如果为false返回值2 (判断两个结果,并且输出两个结果对应的不同提示或者其他)

    优先级:

    键盘录入:
        //获取一个输入对象
        Scanner sc =new Scanner(System.in);

9.程序流程控制:
    if分支:(在值匹配的时候建议使用)
            分支结构:if(条件表达式1){
                语句;
            }else{
                语句;
            }else if(条件表达式2){
                语句;
            }
    switch分支:表达式类型只能是byte,short,int,char String 不能是double,float,long
                case给出的值不允许重复,不能为变量
                不能忘记写break,否则会出现穿透现象(一直往下走,走到break语句再跳出)
                穿透例子:月份天数,重复的就由其穿透,在最后写上一个break
            switch(表达式){
                case 值1:
                    执行代码;
                    break;

                case 值2:{
                    执行代码;
                    break;
                }

                default:
                    执行代码;
            }

    知道循环几次的时候使用for,不知道循环几次建议使用while循环
    for循环:从初始化的数值开始算循环的的次数
            for(初始化语句;循环条件;迭代语句){
                循环体语句;(重复执行的语句)
            }

    while循环:
            while(循环条件){
                循环体语句;(重复语句)
                迭代语句;
            }

            do while循环:一定会先执行一次循环体
                初始化语句;
                do{
                    循环体语句;
                    迭代语句;
                }while(循环条件);
    for和while的区别:
        for循环和while的执行流程是一摸一样的
        如果是知道了循环的次数的时候建议使用for,如果是不清楚循环的次数的时候建议使用while
        for循环中,循环的变量只在循环中使用。while循环中,控制循环的变量在循环后还可以继续使用

    死循环:
        for(;;){
            循环语句;
        }

        while(ture){
            循环语句;
        }

        do{
            循环语句;
        }while(ture);

    嵌套循环:外部循环一次,内部全部执行完一次

    break:跳出本次的循环  当一个条件满足时候就跳出循环
    continue:用于跳出本次循环的执行,进入到下一次的循环中  当其中有一次循环意义不大的时候跳过这次的循环

    随机数:Random类

10.数组:引用类型,数组变量名中存储的是地址
    用来存储一批同种类型数据的内存区域(可以理解为容器) 怎么定义数组 --> 怎么操作数组元素 --> 怎么解决实际问题 -->数组内存原理 -->数组使用的注意点
    静态数组: (1) 数据类型[] 数组名 = new 数据类型[] {}
             (2) 数据类型 [] 数组名 = {}    数据类型  数组名[] = {}            String[] names = {}
             数组访问:数组名称[索引]  数组长度属性:数组名.length 数组的最大索引:length-1
             注意:
                什么类型的数组存放什么数据不然的话报错
                数组一旦定义出来,程序执行的过程中,长度,类型就固定了
    动态数组:
            数组类型[] 数组名 = new 数据类型[长度];
            基本的类型初始化值:
                int 一类的 0
                double一类 0.0
                Boolean flase
                引用类型:类,接口,数组,String,null

    数组的遍历:
        循环条件为数组的长度,从0开始,通过索引值的变化来进行便利整个数组  快捷方式:数组名.fori+回车
        求最大值:定义静态的数组,定于一个参照max,比较进行不断更新max

        猜数字游戏:(5个1-20的随机数,没有猜中继续,猜中了输出第一次出现的位置,并输出所有的5个数)
            注意:注意括号里面的内容,不要将内容写错在其他的循环体内

        随机排名:
            随机的两个位置的值交换的时候需要加入一个临时变量,例如三杯水的交换原理

        冒泡排序:(找出每轮的最大值,放到最后的位置)
            首先找出总共需要排多少轮 0~data.length 但是这里要写上 1~data.length-1 因为下面有边界值问题
            每轮比较几次  data.length-i 次
            然后进行水杯换水 冒泡操作 交换两个位置的值,一直排序上去

        java内存分配:
            方法区:编译文件的位置
            栈内存:main方法运行时所进入的内存,变量也是在这里
            堆内存:new出来的对象在这块内存开辟空间并产生地址

        两个变量指向同一个数组对象
            传的是地址
            常见的数组报错:
                数组的长度不符,长度超出数组长度
                数组为null,取值

        Debug的使用

11.方法是一种语法结构(函数)
    定义:修饰符 返回值类型 方法名 (形参列表){
            方法体代码;
            return 返回值;}
    调用:方法名(...);

    无返回值类型:void 不使用return

    注意点:
        方法的修饰符暂时都使用public static
        方法申明了具体的返回值类型,内部必须使用return返回对应类型的数据
        形参可以有多个,甚至可以没有;如果有多个形参的话必须使用,隔开

    常见问题:
        方法的编写循序无所谓
        方法间是平级的关系,不能嵌套使用
        方法的返回值类型是void,方法内部不能使用return,定义的返回值类型和return需要一致
        return下面是无效代码
        方法不调用就不执行,调用时需要严格匹配方法的参数情况
        有返回值的方法调用时可以定义变量接受结果或者直接输出,甚至直接调用,无返回值方法的调用只能直接调用一下

    方法没有被调用的时候放在方法区,调用的时候在栈内存里面开辟空间

    方法的参数传递机制:

    基本类型的参数传递:
        实参:如在方法的内部定义的
        形参:如在定义方法的时候()所生命的参数
        实参和形参传递的时候并不是传递实参本身而是传递实参中存储的值,这个就是值传递

    引用类型的参数传递:
        传递的是类型的地址传递去堆内存里面取值和修改值

    方法的重载:(用一个类型功能)
        同一个类中,出现多个方法的名称相同,但是形参的列表是不同的,那么这些方法就是重载方法(形参的顺序,个数,类型不同)

    return:立即跳出并结束当前方法的执行,return可以放到任何方法里面使用

    案例练习:
        遇到值匹配的时候使用switch分支实现
        遇到判断区间的时候使用if分支结构实现
        当一个循环里的判断条件不成立的次数很多无法判断时,使用信号量,在条件成成立的将这个信号量改变其值,最后判断得出最后的结果
        信号位思想:先假定一个结果,最后进行判断这个信号位,如果在整个过程都没有其他的情况时,信号位不变
        实现数组元素的反转,定义了两个变量,分别一个在头部,一个在尾部,同时进行收缩,然后进行换值操作

        冒泡排序:遍历数组,判断相邻的两个值的大小,使大的值交换到右边(不断比较相邻的两个)
        选择排序:遍历数组,每一轮选择出最大值的索引值,最后再放到一轮的最后位置(更新索引值)
        插入排序:遍历数组,默认第一个为排序好的位置,将后面的值不断的交换到前面相应的位置(优化:通过暂存待插入值,当插入值<数组值时,将前面的值赋值给后面的值,挪位操作)
        二分查找:通过判断条件(end<begin)来进行比较mid值和查找值的大小,从而更换判断的区间,当在<mid时end = mid ,当>mid时begin = mid+1

        

Java笔记——Java基础入门 我想给大家说的是,写错代码都是很正常的,刚才有同学在使用IDEA编写程序时,可能会觉得字体比较小,背景色是黑色的,注释是灰色的,看不清,长时间可能对眼睛不好。讲完IDEA相关配置之后,接下来给大家讲一个很重要的IDEA的使用技巧,这就是IDEA的快捷键,所谓快捷键就是通过键盘上的按键组合起来,就可以帮我们生成代码。为了引导大家正确的完成IDEA的下载和安装,给小伙伴们单独提供了一个文档《IDEA安装、使用、配置.pdf》,文档中提供了IDEA详细的安装和使用步骤,大家只需要按照文档的步骤一步一步操作就行。 阅读详情

相关推荐

Java零基础入门:课堂笔记精讲

Java是一种广泛使用的面向对象的高级编程语言,它由Sun Microsystems公司(现为Oracle公司的一部分)在1995年正式推出。Java的设计理念源于C和C++,但采用了简化的语言特性,并引入了“一次编写,到处运行”的跨平台理念。Java具备自动垃圾收集、异常处理机制、多线程处理等特点,并且拥有丰富的类库支持,使其在企业级应用开发中尤为流行。集成开发环境(IDE)是支持项目开发的软件应用程序,它通常包括代码编辑器、构建自动化工具和调试器。IDE可以让开发者更高效地编写代码和管理项目。

weixin_33608403的博客 597

Java编程快捷键(部分)

左图是示范,右图是操作后结果。 1、“psvm”,快速键出“public static void main(String[] args) {}”语句。 2、“sout”,快速键出“System.out.println();”语句。 3、“Ctrl + /” 快速进行注释操作,可单行也可选中多行操作。 可将光标停留在需注释的那一行代码后面,也可选中多行代码进行注释。(对注释的代码再进行一次注释操作,语句就会恢复原样) 4、“Ctrl + Alt + L”快速格式化代码。...

Ginbright_Xu的博客 5692

DeepMD-kit描述子机制解析:从原子坐标到不变性特征

本文深入解析DeepMD-kit描述子机制,详细阐述如何将原子坐标转换为具有平移、旋转和排列不变性的特征表示。探讨了se_e2_a、se_e3等不同描述子的适用场景及性能优化技巧,帮助读者掌握这一关键技术在分子模拟中的应用实践。

weixin_42520661的博客 340

Java:IDEA中的常用快捷键

Java:IDEA中的常用快捷键

蔡欣致的个人博客 5134

用Java实现森林冰火人游戏

g.drawString("游戏结束", CELL_SIZE * COLS / 2 - 100, CELL_SIZE * ROWS / 2);g.drawString("难度级别: " + difficultyLevel, 10, CELL_SIZE * ROWS + 60);g.drawString("生命值: " + playerHealth, 10, CELL_SIZE * ROWS + 20);setTitle("森林冰火人");

2401_82778412的博客 1734

使用Android GPS api 实现一个轨迹记录的小功能

引入 市场上的跑步软件已经是非常多了,如咕咚和悦跑圈还有其他,很多大厂也在涉足这个方面。而最简单的运动跑步,最近几年也因简单,不限场地,运动效果出众备受大众喜欢。 我的这篇文章的内容很多也是从网上学习其他的博客内容,外加利用android自身的提供的api实现的,希望能对有这方面需求的朋友有所帮助。 介绍 先上两张图,界面比较丑,不过一些数据基本都有了,这个图片是临时要用截取的,所以轨迹线很短,之前

尝试着去了解代码 1万+

java的sout和souf的区别

souf比sout多了一个功能就是多了一个%s,这个%s是表示占位符的意思,souf的格式是System.out.printf(“%s xxxxxx %s”,xxx,xxx);后面的两个参数就是用来替代前面的%s占位符的,而且souf也不会换行。sout是System.out.println();用来打印数据的但是如果不想让数据每打印一次就换行的话,可以写成System.out.print();他们的区别就是souf比sout多了一个占位符可以更灵活的打印。

jiayu123321的博客 2593

计算机导论期末知识点及试题总结 [近三万字总结 · 全]

计算机网络:计算机网络是利用通信线路连接起来相互独立的计算机的集合,其主要目的是实现数据通信和资源共享。 计算机病毒:破坏计算机功能或数据,影响计算机使用,并能自我复制的一组计算机指令或程序。 操作系统:操作系统是由程序和数据结构组成的大型系统软件,它负责计算机的全部软硬件的资源分配,调度和管理,控制各类程序的正常执行,并为用户使用计算机提供良好的环境。 高速缓冲储存器(Cache):位于cpu和内存之间的储存器,其特点是速度快,目的是是储存器的速度与cpu的速度相匹配。 总线:若干信号线的集合,是

这个人好有趣....hh 1万+

边学边记——Java中的输入输出

需要搭配 while(不知道循环次数,知道循环的中止条件),调用Scanner对象的 hasNextXXX() 方法,就会判断系统输入的是否是指定类型的内容,若碰到不是相应的类型数据,循环终止(字符串需要输入特殊字符终止)。那么,如果我们紧接着输入整型数据后就要输入字符串,那么就会自动跳过输入字符串(输入字符串识别到了换行符认为输入结束)。我们知道,输入整型数据时,按下回车代表数据输入完毕,输入字符串时,会以换行符来作为当前内容的终止条件。:如果println()中啥也不写,默认当换行输出使用。

lil_ghost_的博客 1万+

别急着做AI:FDE教你识别真需求,让AI真正落地

人工智能项目在落地过程中,经常出现业务方高喊“我们要做AI”,却说不清具体应用场景的现象。判断一个需求是否值得用AI实现,不能只看技术流行度,而要从问题出现频率、当前替代方案以及可量化业务价值三个维度展开验证。同时需要冷静比较规则引擎与大模型的边界:不是所有语义任务都要靠生成式模型,稳定、可解释且低成本的传统方案往往更具工程性价比。数据闭环也至关重要,缺乏历史样本与反馈回流路径的项目,很难在真实环境中持续优化。针对智能客服、合同审查或企业知识库等典型场景,可借助人机协同与最小代价的用户验证,逐步筛除伪需求,

weixin_42624889的博客 342

跟着团子学SAP CO:基于成本的完工百分比结算:Cost-based POC(以项目为例)

本文以英国及北美会计准则下的基于成本的POC的销售型项目结算对PS模块中的完工百分比进行介绍

Lucas1211的博客 2万+

JAVA基础详细笔记Java入门到精通JAVA学习笔记

JAVA基础详细笔记Java入门到精通JAVA学习笔记

BIGGER_MAN的博客 965

S.BUS协议及编解码,C语言源码

1、简介 SBUS本质是一种串口通信协议,采用100K的波特率,8位数据位,两位停止位,偶效验,即8E2的串口通信。 值得注意的有三点: 1.SBUS采用负逻辑,所以无论接收还是发送都要进行硬件取反(注意,一定要硬件取反),电路如下 这是我在网上看资料时看到的电路,实际上我用的是下面这个电路 2.SBUS有两种模式, a.高速模式:每4ms发送一次 b...

qq_31232793的博客 1万+

Java基础部分_Java基础入门阶段(零基础java入门教程)_学习笔记

本文学习内容来自腾讯课堂提供的学习视频。进入腾讯课堂官网,搜索  Java基础入门阶段 就可以看到这门免费培训视频。 培训视频详细类别为:IT 互联网&gt; 编程语言&gt;Java&gt;Java基础入门阶段(javase教程,零基础java入门教程)(阶段一)。 本文是对该培训视频的学习笔记。仅供参考。 class Demo{ public static void main(S...

u010352129的博客 3004

蛋白质组学进阶指南 | (八)差异蛋白筛选与功能解析实战

本文是蛋白质组学差异蛋白筛选与功能解析的实战指南。详细讲解了如何利用R语言的limma包进行差异表达分析,结合FDR校正和差异倍数设定筛选关键蛋白,并通过火山图可视化结果。进一步介绍了使用clusterProfiler进行GO与KEGG功能富集分析,以及利用STRING数据库和Cytoscape构建蛋白互作网络以识别枢纽分子,最终串联分析形成可验证的生物学假说。

weixin_29208077的博客 745

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

java基础入门笔记上

Java零基础,面向对象的三大要素,封装、继承、多态。涵盖了基础知识点,供自己笔记记录及初学者学习查阅

m0_66415414的博客 847

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

java基础入门笔记中

Java零基础,涵盖异常与集合相关基础知识点,供自己笔记记录及初学者学习查阅

m0_66415414的博客 1007

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Java零基础入门笔记:多线程

本笔记是学习狂神的java教程,建议配合视频,学习体验更佳。

sherlockMa的博客 1010

java 从零开始,学习笔记之基础入门(开始)

这是本人学习java时从零开始到入门的一个全过程,当时学习的时候记录下来的笔记,现在回想起来都快两年了,现在发布出来一是方便新手学习,二是自己重新复习java基础。这仅是个人当时的学习笔记和经验体会,仅供新手学习,可能会有笔误之类的,大神们尽管吐槽。相信新手看完一系列的文章,入门应该没什么问题了,主要就是个入门之道,入门了之后的知识就都可以自学了。先放出一整体系列截图(有需要哪个文档的可直接找我)...

836811384 105

Java零基础入门笔记:(4)方法

本笔记是学习狂神的java教程,建议配合视频,学习体验更佳。

sherlockMa的博客 1050

Java入门基础笔记

方法是类中的第二大成分,一个方法就是一个独立的功能,是具体用来处理对象中的数据。修饰符 返回值类型 方法名 (参数列表)方法体代码return sum;方法调用方法必须被对象调用才能执行起来,方法调用格式是:方法定义和调用时的注意事项定义方法时,参数列表中可以有任意多个参数,多个参数间用英文逗号隔开如果方法中声明了返回值类型,那么方法必须使用return返回对应类型的数据return语句的作用是返回方法调用处,因此,return语句后边不能再写代码了,因为无法执行到。

m0_62629029的博客 1378

Java零基础入门笔记:(1-2)入门(简介、基础知识)

本笔记是学习狂神的java教程,建议配合视频,学习体验更佳。

sherlockMa的博客 1275

实训课堂笔记:day2(第一章Java基础入门)

开源 简单性 api 安全性 健壮性强类型弱类型。Jdk下载 安装位置 环境变量java_home path 优点。主流版本:1.8.0 11 17(稳定)Java特点 面向对象 过程区别 单继承。三平台:j2 jme jee。JVM 字节码文件 跨平台。Javac运行字节码文件。

跟着豪哥学Java 447

Java零基础入门笔记:(5)数组

本笔记是学习狂神的java教程,建议配合视频,学习体验更佳。

sherlockMa的博客 1121

《Spring快速入门》读书笔记 第1章 Java基础

写在前面:这些笔记是我个人读书所作整理,类似于草稿,并没有刻意去整理成完整的资料。写这些笔记的缘由是感觉Spring的内容实在太多,很容易遗忘,现做一些笔记便于自己复习。这里主要是列举一些需要记忆的常用用法、配置等,并不会介绍Spring中的各种概念。如果能帮助到大家学习Spring,不胜荣幸。书名为《Spring快速入门》,崔彦威 卢欣欣 王倩 著,清华大学出版社。 题外话:大一暑假,补习完本学期没有上完的Java基础内容(《Java 2实用教程(第5版》,耿祥义 张跃平 编著)后几章之后,产生了学习框

u013652550的博客 302

《Java基础入门》笔记——01 Java初步

所用教材:《Java基础入门(第2版)》黑马程序员 著 电子书及源码资源:https://pan.baidu.com/s/1T8NPJ2e-TDhi63fqomJ_5g 提取码:0516 1 基础知识 1.1 标识符命名规则 (1)标识符可由字母、数字、下划线、美元符号($)组成 (2)不能以数字开头 (3)不能以关键字命名 (4)命名时尽量见名知意

你若盛开,清风自来。 9873
上一篇: Java_ATM小项目
下一篇: Anaconda安装—已经安装好python
网名_简
博客等级 码龄6年 4粉丝 3原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值