java基础-程序员宅基地

技术标签: # java  java  

目录

第1章:初识Java

第2章:变量、数据类型和运算符

第3章:选择结构

(一)if-else

(二)Switch

第四章:循环结构

(一)while

(二)for

第五章:数组

第六章:类和对象

第七章:方法


第1章:初识Java

生活中程序:完成某些事物的既定方式和过程或者完成某些事物的步骤和次序。
计算机程序:为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合       
高级语言:更符合人的习惯的编程语言。比如:JAVA,C#,VB...
低级语言:也叫底层语言,更符合计算机的语言的习惯。如:汇编语言

JAVA技术平台:
1.JavaSE(Java标准版):主要用于开发桌面程序。 
2.JavaEE(Java企业版):主要用于开发网络程序和企业级应用程序。 
3.JavaME(Java微型版):主要用于嵌入式开发。
Android:智能手机系统。  

开发一个JAVA小程序:
开发过程:
1.编写程序
2.编译源程序(命令:javac 类名.java) 生成class文件
3.运行(命令:java 类名)

准备工作:
1.安装JDK(编译和运行的平台)
2.配环境变量
   1)找到jdk安装路径的bin目录
   2)电脑右击属性->高级系统配置->高级->环境变量->系统变量
     ->Path双击->"变量值"按End键->加";你的路径[刚才复制的     bin目录路径]"
3.开始->cmd->javac

public class 类名{
   public static void main(String[] args){
       //代码位置
   }
}
注意:
  1.类名前加class
  2.类名首字母要大写、类名不要用中文
  3.要缩进,遇到“{”(大括号)把光标放在大括号后面按回车,再按Tab键
  4.“{”大括号的位置处于每一句的最后
  5.每个JAVA程序只能有一个主方法(主方法为main)
  6.程序入口必须是public访问修饰符static,返回类型为void,参数为String[]类型
  7.一行只能写一条语句
  8.每句结束加“;”        PS:注意;是英文类型的分号
  9.所有的符号必须是英文的,例如""  ()  {}  []  ,   . 括号之类的必须成对存在例如""  {}  []  ()
 10.JAVA是严格区分大小写形式的   该大写的就算是小写也必须写大写  例如:String   System等等

输出内容但不换行
System.out.print("输出内容");

输出内容但换行
System.out.println("输出内容");

\n:换行符,相当于键盘的Enter键
\t:制表符,相当于键盘的Tab键


//:表示单行注释
/* 内容 */:表示多行注释

第2章:变量、数据类型和运算符

一.变量:一个数据存储空间的表示

二.九大数据类型:(原始数据类型就是Java基础数据类型,8个)
  1.int:整数(4个字节) 例:int num=1000;
  2.double:双精度浮点(8个字节)例:double price=10.3;
  3.char:字符型(2个字节)例:char c='a';
  4.String:字符串 例:String name="张三";(引用数据类型,不是基础数据类型)
补充:
  5.byte:字节型(1个字节)
  6.short:短整型(2个字节)
  7.long:长整型(8个字节)
  8.float:单精度浮点型(4个字节)
  9.boolean:布尔类型,只有true/false(1个字节)


三.变量的使用
  1.声明变量:数据类型 变量名;
  2.赋值:变量名=值;
  3.使用
注意:声明和赋值可一步完成:数据类型 变量名=值;


四.变量名的命名规范
  1.首字母只能是字母,下划线(_),美元符号($)
  2.其他字母只能是数字,字母,下划线(_),美元符号($)
  3.首字母不能以数字开头
  4.不能使用java中的关键字


五.运算符
  1.赋值运算符:=(将右边的值赋给左边)
     例:生活:1+1=2   软件:2=1+1;

  2.算术运算符:+ - * / %(膜)
    /:取商的整数部分  例:3/2=1;   0/3=0;
    %:取余数    例5%3=2;  3%1=0;  3%2=1; 0%3=0;
    

六.数据类型转换
  1.自动数据类型转换
    a.两种数据类型兼容
    b.目标数据类型>源数据类型(等号的左边>等号的右边)

  2.强制类型转换
    (数据类型)表达式;例 int a=(int)1.1;
    

   
七.关系运算符:表达式中出现关系运算符,结果是:boolean类型
  1.>  <   >=  <=
  2.==:判断左右两边是否相等(都是18岁)    
    例:zhangAge==liAge;true
  3.!=:判断左右两边是否不相等  
    例:zhangAge!=liAge; false


八.从控制台输入
 1.最前面:import java.util.*;//或者import java.util.Scanner;
 2.入口里面:Scanner input=new Scanner(System.in);
 3.第二句话的后面:
   int a=input.nextInt();
   double b=input.nextDouble();
   char c=input.next().charAt(0);
   String d=input.next();

第3章:选择结构

(一)if-else

一.if-else选择结构
  1.语法:if(条件){
        //if代码块
      }else{
        //else代码块
      }
  2.执行顺序:如果条件为true,则执行if代码块,否则 执行else代码块。
二.多重if
  1.当表示区间判断,有多个判断,等值判断可使用
  2.语法:
    if(条件表达式){       //只能有1个
        //代码块1
    }else if(条件表达式){ //可以有多个
        //代码块2
    }else if(条件表达式){
        //代码块3
    }else{               //可有可无
        //代码块4
    }
三.嵌套if:一个if中再嵌套(写)一个完整的if选择结构
  1.当先满足一个条件,才会对第二个条件做判断
  2.语法:
    if(条件表达式){
        if(条件表达式){
            //代码块

        }else if(条件表达式){
        
        }else{
        
        }
    }
四.逻辑运算符:连接多个条件
   &&:并且,而且,与。两个条件都要满足,结果才是真
   ||:或者,或。两个条件只要满足其中一个,结果就是真
   !:非。取反(取相反的结果)

五.判断是否相等
 ==:int  double  char  boolean 判断是否相等
 变量.equals("值"):  String 判断是否相等

//A-Z 65-90  B=66 C=67
//a-z 97-122 b=98 
c=99int str='A';    
System.out.println(str);

1234%10=4
1234/10=123%10=3
1234/100%10=2
1234/1000%10=

if(no>999&&no<10000){
    
}else{
    System....("失败")
}

(二)Switch

一.Switch选择结构
  1.特点:等值判断,只能对整型 char的数据类型做判断
  2.语法:switch(变量名){
        case 常量:
            代码块;
            break;
        case 常量:
            代码块;
            break;
        .....
        default:    //可有可无,
           代码块;
           break;
        
      } 
  3.注意:
    a.switch只能做等值的判断
    b.只能对整型,char数据类型做判断
    c.变量名要和常量的数据类型一致
    d.常量不能出现重复
    e.break可要可不要,但是注意逻辑问题
    f.default相当else,可要可不要

二.程序异常处理:判断是否是数字
   在输入语句的第二句和第三句之间
    if(input.hasNextInt()){
        //是整数
    }else{
        //不是整数
    }

第四章:循环结构

(一)while

一.循环:重复的做同一件事情
  1.while语法:先判断,再执行

    初始化循环变量;
    while(循环继续条件){
        循环操作;
        更新循环变量;
    }
  2.使用步骤(做题思路)
    a.找4个条件
    初始化循环变量  循环条件 循环操作 更新循环变量
    b.套用语法
    c.检查是否能够跳出循环


二.调试步骤:使程序停在设置断点的地方,单步执行以便查找错误
   1.在可能出现错误的地方设置断点  
   2.启动调试(debug)
   3.单步执行(F6)
   4.观察变量的变化,并找出错误


三.do-while循环:先执行,再判断
  1.语法:
    初始化循环变量
    do{
        循环操作;    
        更新循环变量;
        
    }while(循环条件);


  2.while和do-while异同
    相同:都执行循环操作
    不同:a.执行顺序:while先判断再执行
             do-while先执行再判断
          b.语法:while循环后是'{}'
              do-while循环后是';'
          c.初始条件不成立,while一次也不执行操作
            do-while至少执行一次操作

(二)for

一.for循环:用于循环次数固定时
  1.语法:
    for(1.初始化循环变量;2.循环条件;3更新循环变量){                    
        4.循环操作;
    }
  2.执行顺序:1 ,2 ,4, 3
  3.注意:
    a.初始化循环变量既可以放入小括号里面,也可以放入for的上面
    b.少条件,造成死循环
    c.少更新循环变量,造成死循环,更新循环变量可以放入操作下面
    d.如果三个表达式都没有,死循环

二.break和continue
  1.break:可以使用到while,do-while,for循环中。遇到break跳出整个循环
  2.continue:只能用于循环中,遇到continue结束本次循环,继续下一次循环(用continue,取反)

第五章:数组

一.数组:存储数据类型相同的一组数据
    
   1.四要素:
    标识符:数组的名称
    数组元素:数组中的数据
    数组下标:数组元素的编号(下标),从0开始
    数组类型:数据类型(int String char...)

  2.数组的使用
     a.声明数组
    数据类型[] 数组名;或
    数据类型 数组名[];
     
     b.分配空间
    数据类型[] 数组名=new 数据类型[长度];
 
     c.赋值
    1.数组名[下标]=值;
    2.数据类型[] 数组名={值1,值2,....};
      3.数据类型[] 数组名=new 数据类型[]{值1,值2,....};

     d.数据的处理

   3.注意:
    数组下标最多到数组长度-1结束,不然会越界
    数组下标必须从0开始
    声明数组并赋值必须一步完成

   4.获取数组长度:
    数组名.length;

二.数组的应用
  1.排升序        Arrays.sort(数组名);
  2.排降序        for(int i=数组长度-1;i>=0;i--){}

  3.求最大值和最小值
  
  4.输入一个数,判断是否在数组中存在

  5.使用数组求和或求平均分

判断是否存在的思路
1.先从控制台输入一个数
2.循环比较,拿输入的数是否等于数组中的数,
   如果输入的数==数组中的数,说明存在,然后break跳出循环

3.如果不存在,在循环外创建boolean b=false;(标记是否存在,默认不存在)
,在for中的if判断中b=true;(存在)

4.循环外,if(b==false){//不存在}

第六章:类和对象

一.对象:由一组属性和方法构成(看得见摸得着,真实存在)
   1.属性:对象具有的静态特征(可以用语言来描述的)
   2.方法:对象具有的行为,操作(动态特征)
   3.封装:尽量隐藏内部细节(包装)
       安全,保护的作用
       使用时无需知道内部细节,只要会用

二.类:创建一组属性和方法的对象的集合(抽象的)

三.类和对象的关系
  类是对象的抽象
  对象是类的实例

四.使用类的步骤:
   1.创建类:public class 类名{}
   2.创建属性
   3.创建方法:
        访问修饰符(public) 返回类型(void) 方法名(){}

五.创建对象的步骤:
   1.创建对象:类名 对象名=new 类名();
   2.调用属性:对象名.属性名=值;
   3.调用方法:对象名.方法名();

六.面向对象的优点:
   1.符合人类思维方式(分类的方式)
   2.代码复用(创建一次,可重复使用)
   3.安全和提高可维护性

第七章:方法

一.无参方法(有返回,无返回的方法)
  1.定义:对象具有的行为,操作
  2.包含:访问修饰符(public) 返回类型(void,String,int,等数据类型) 方法名  主体
  3.返回类型:
    a.无返回:void
    b.有返回:return 变量;

二.常见错误
  1.void 和return不能共存
  2.不能返回多个值
  3.方法不能嵌套
  4.逻辑代码必须放入方法中

三.方法的调用
   1.不同的类:创建对象,对象名.方法名();
   2.同一个类:直接写     方法名();

四.局部变量和成员变量
   1.局部变量定义在方法里面
    只能用在方法里面,其他地方不能使用
   2.成员变量定义在类里面,方法外面
    整个类中都可使用
   3.成员变量不赋初始值,有默认值
    String:null int:0 double:0.0 char:空格 boolean:false
     局部变量不赋初始值,没有默认值
   4.成员变量和局部变量可以同名,优先使用局部变量(就近原则)
    同一个方法中:局部和局部不能同名,同一个类中:成员和成员不能同名

五.文档注释:/**  注释内容 */
  导出文档:右击->export->java->javadoc->next->选中要导出的文件 ->finish


创建方法:
public 数据类型 方法名(){
    return ;
}

调用方法
   1.同一个类: 数据类型 变量名=方法名();
   2.不同类:  类名 对象名=new 类名(); 
      数据类型 变量名=对象名.方法名();


 Object Oriented Programming  面向对象的编程(OOP)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/mazejun_/article/details/137893195

智能推荐

http隧道 java_使用java语言实现http隧道技术-程序员宅基地

文章浏览阅读119次。该楼层疑似违规已被系统折叠隐藏此楼查看此楼/***Getaparametervalue**@paramkeyString*@paramdefString*@returnString*/publicStringgetParameter(Stringkey,Stringdef){returnisStandalone?System.getProperty(ke..._java http隧道

Keepalived高可用+邮件告警_keepalived sendmail-程序员宅基地

文章浏览阅读913次。IP主机名备注192.168.117.14keepalived-master主节点192.168.117.15keepalived-slaver备节点192.168.117.100VIP1.主备节点均安装keepalived# yum install -y keepalived httpd2.主备节点均修改keepalived日志存放路径..._keepalived sendmail

SPFILE 错误导致数据库无法启动(ORA-01565)_ora01565 ora27046-程序员宅基地

文章浏览阅读469次。--==========================================--SPFILE错误导致数据库无法启动(ORA-01565)--========================================== SPFILE错误导致数据库无法启动 SQL> startup ORA-01078: failurein proce_ora01565 ora27046

功能测试基础知识(1)-程序员宅基地

文章浏览阅读6.1k次,点赞2次,收藏54次。功能测试基础知识总结_功能测试

postgresql 中文排序_pg中文排序-程序员宅基地

文章浏览阅读3.2k次,点赞3次,收藏2次。pg 中文首字母排序_pg中文排序

[Mysql] CONVERT函数_mysql convert-程序员宅基地

文章浏览阅读3.1w次,点赞23次,收藏109次。本文主要讲解CONVERT函数_mysql convert

随便推点

HTML5与微信开发(2)-视频播放事件及API属性_微信开发者工具视频快进-程序员宅基地

文章浏览阅读8.6k次,点赞2次,收藏2次。HTML5 的视频播放事件想必大家已经期待很久了吧,在HTML4.1、4.0之前我们如果在网页上播放视频无外乎两种方法: 第一种:安装FLASH插件或者微软发布的插件 第二种:在本地安装播放器,在线播放组件之类的 因为并不是所有的浏览器都安装了FLASH插件,就算安装也不一定所有的都能安装成功。像苹果系统就是默认禁用FLASH的,安卓虽然一开始的时候支持FLASH,但是在安卓4.0以后也开始不_微信开发者工具视频快进

JedisConnectionException Connection Reset_jedisconnectionexception: java.net.socketexception-程序员宅基地

文章浏览阅读5.4k次,点赞3次,收藏4次。在使用redis的过程常见错误总结1.JedisConnectionException Connection Reset参考这边文章:Connection reset原因分析和解决方案https://blog.csdn.net/cwclw/article/details/527971311.1问题描述Exception in thread "main" redis.clients...._jedisconnectionexception: java.net.socketexception: connection reset

Lua5.3版GC机制理解_lua5.3 gc-程序员宅基地

文章浏览阅读8.3k次,点赞8次,收藏42次。目录1.Lua垃圾回收算法原理简述2.Lua垃圾回收中的三种颜色3.Lua垃圾回收详细过程4.步骤源码详解4.1新建对象阶段4.2触发条件4.3 GC函数状态机4.4标记阶段4.5清除阶段5.总结参考资料lua垃圾回收(Garbage Collect)是lua中一个比较重要的部分。由于lua源码版本变迁,目前大多数有关这个方面的文章都还是基于lua5.1版本,有一定的滞后性。因此本文通过参考当前..._lua5.3 gc

手机能打开的表白代码_能远程打开,各种手机电脑进行监控操作,最新黑科技...-程序员宅基地

文章浏览阅读511次。最近家中的潮人,老妈闲着没事干,开始学玩电脑,引起他的各种好奇心。如看看新闻,上上微信或做做其他的事情。但意料之中的是电脑上会莫名出现各种问题?不翼而飞的图标?照片又不见了?文件被删了,卡机或者黑屏,无声音了,等等问题。常常让她束手无策,求助于我,可惜在电话中说不清,往往只能苦等我回家后才能解决,那种开心乐趣一下子消失了。想想,这样也不是办法啊, 于是,我潜心寻找了两款优秀的远程控制软件。两款软件...

成功Ubuntu18.04 ROS melodic安装Cartograhper+Ceres1.13.0,以及错误总结_ros18.04 安装ca-程序员宅基地

文章浏览阅读1.8k次。二.初始化工作空间三.设置下载地址四.下载功能包此处可能会报错,请看:rosdep update遇到ERROR: error loading sources list: The read operation timed out问题_DD᭄ꦿng的博客-程序员宅基地接下来一次安装所有功能包,注意对应ROS版本 五.编译功能包isolated:单独编译各个功能包,每个功能包之间不产生依赖。编译过程时间比较长,可能需要几分钟时间。此处可能会报错:缺少absl依赖包_ros18.04 安装ca

Harbor2.2.1配置(trivy扫描器、镜像签名)_init error: db error: failed to download vulnerabi-程序员宅基地

文章浏览阅读4.1k次,点赞3次,收藏7次。Haobor2.2.1配置(trivy扫描器、镜像签名)docker-compose下载https://github.com/docker/compose/releases安装cp docker-compose /usr/local/binchmod +x /usr/local/bin/docker-composeharbor下载https://github.com/goharbor/harbor/releases解压tar xf xxx.tgx配置harbor根下建立:mkd_init error: db error: failed to download vulnerability db: database download

推荐文章

热门文章

相关标签