**本次学习Java ,所采用的的IDE是JetBrains公司开发的IDEA

下面是我安装并配置IDEA的流程,有需要的小伙伴可以参考。
链接: [link]()
如果IDEA获取有困难的,可以使用免费的eclipse IDE ,也很方便的。**

一个简单的java应用程序

第一步

在下拉的菜单中选择新建,然后点击项目,既可以创建一个Java Project

第二步

名称是用户自己定义,最好是与项目相关,尽量用英文,不要使用中文(可能后续编译时会产生不必要的麻烦),然后是这个项目的位置,根据你的爱好而定,接着JDK ,则是编译和调试你程序的,第一次使用时,IDEA会自动监测,如果你没事先安装的话,IDEA会提醒你在IDEA内下载,最后点击创建。
我们是在项目的src目录中写代码,下面一次右键src ,找到软件包,这是java的包文件;
在包中,右键包,然后找到java的类,即class


第三步

在java的main函数内,输入我们的第一个程序“ we will not use ‘hello world’“”

第四步

我们可以点击右上角的朝右的三角形,如果此图标是灰色的,别着急,我们可以看向界面的左下角。最左边下面有一个“结构” ,我们点击。然后找到我们的类名,右键点开,找到调试词条,就可以运了。

注释

Java中有3中注释方式(Java核心技术卷(第十一版)一 P29 提及),注释以及注释的代码不会出现在可执行程序中,所以可以放心添加任意多的注释(虽然是一个好习惯,但是我觉得大部分人觉得还是比较麻烦! haha !!!)

如图

/** 开始 */结束的注释,可以用来自动生成文档,我们可以在settings中设置
// 注释一行 ,从//开始,知道这一行末尾
/**/ 用来注释更长的内容 ,以/开始 , 以/结束

数据类型

Java是一种强类型语言 , 即每一个变量必须声明一种类型。Java中,一共有8种基本类型。其中4种整型,2种浮点类型,1种字符类型和表示真值的boolean类型
下面我以代码的形式,来深入理解一下java这8种数据类型,其中boolean特殊。boolean类型有两个值:false 和 true 。用来判定逻辑条件。注意:整型值与布尔值之间不能进行相互转换。

         // byteSystem.out.println("基本类型:byte 二进制位数:" + Byte.SIZE);  System.out.println("包装类:java.lang.Byte");  System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE);  System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE);  System.out.println();  // short  System.out.println("基本类型:short 二进制位数:" + Short.SIZE);  System.out.println("包装类:java.lang.Short");  System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE);  System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE);  System.out.println();  // int  System.out.println("基本类型:int 二进制位数:" + Integer.SIZE);  System.out.println("包装类:java.lang.Integer");  System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE);  System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE);  System.out.println();  // long  System.out.println("基本类型:long 二进制位数:" + Long.SIZE);  System.out.println("包装类:java.lang.Long");  System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE);  System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE);  System.out.println();  // float  System.out.println("基本类型:float 二进制位数:" + Float.SIZE);  System.out.println("包装类:java.lang.Float");  System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE);  System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE);  System.out.println();  // double  System.out.println("基本类型:double 二进制位数:" + Double.SIZE);  System.out.println("包装类:java.lang.Double");  System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE);  System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE);  System.out.println();  // char  System.out.println("基本类型:char 二进制位数:" + Character.SIZE);  System.out.println("包装类:java.lang.Character");  System.out.println("最小值:Character.MIN_VALUE="  + (int) Character.MIN_VALUE);  System.out.println("最大值:Character.MAX_VALUE="  + (int) Character.MAX_VALUE);




变量与常量

Java使用变量存储值。而常量就是值不会变的变量。

变量

Java中 , 每一个变量都有一个类型(type)。声明变量时,先指定变量的类型,然后是变量名称。以下是例子

     double Salary ;int vacationDays ;long earthPopulation ;boolean done ;

Java中变量分为成员变量与局部变量
成员变量 :类方法外的变量 ,又分为了静态(类)变量和实例变量
局部变量 :类方法内的变量

public class Member_variable {public static int num  = 9;// 类变量public static String Name = "类变量(类中直接引用,其他类:类名.类变量)";public int count ; //实例变量public String name ;public Member_variable(){count = 6 ;name = "实例变量(对象.实例变量)";}public static void main(String[] args) {// TODO Auto-generated method stubMember_variable test = new Member_variable();System.out.println(test.name + ":"+ test.count);System.out.println(Name+num);}
}

通过代码发现 类变量与实例变量主要的区别就是 static关键字
static 关键字标识的就是 类变量 ,没有就是实例变量

实例变量 :

*实例变量声明在一个类中,但在方法、构造方法和语句块之外;
*实例变量可以声明在使用前或者使用后;
*实例变量在对象创建的时候创建,在对象被销毁的时候销毁;
*实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。变量的值可以在声明时指定,也可以在构造方法中指定;
*当一个对象被实例化之后,每个实例变量的值就跟着确定;
*实例变量的值应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息;
*访问修饰符可以修饰实例变量;
*实例变量对于类中的方法、构造方法或者语句块是可见的。一般情况下应该把实例变量设为私有。通过使用访问修饰符可以使实例变量对子类可见;
*实例变量可以直接通过变量名访问。但在静态方法以及其他类中,就应该使用完全限定名:ObjectReference.VariableName。

以下是例子

public class Instance_variable {// 这个实例变量对子类可见public String name ; // 私有变量 , 仅在该类可见private double salary ;// 在构造器中对name赋值public Instance_variable (String empName){name = empName ;}// 设定salary的值public void setSalary(double empSal){salary = empSal ;}// 打印信息public void printEmp(){System.out.println("名字 : " + name) ;System.out.println("薪水 : " + salary) ;}public static void main(String[] args) {// TODO Auto-generated method stub/*我们给对象赋初值*/Instance_variable empOne = new Instance_variable("RUNOOB");empOne.setSalary(1000.0);empOne.printEmp();/*我们直接创建一个对象,但不赋值*/Instance_variable none = new Instance_variable("") ;none.printEmp();}}

结果

类变量 :

*类变量也称为静态变量,在类中以 static 关键字声明,但必须在方法之外。
*无论一个类创建了多少个对象,类只拥有类变量的一份拷贝。
*类变量的优先级大于实例变量
*静态变量除了被声明为常量外很少使用,静态变量是指声明为 public/private,final 和 static 类型的变量。静态变量初始化后不可改变。
*静态变量储存在静态存储区。经常被声明为常量,很少单独使用 static 声明变量。
*静态变量在第一次被访问时创建,在程序结束时销毁。
*与实例变量具有相似的可见性。但为了对类的使用者可见,大多数静态变量声明为 public 类型。
*默认值和实例变量相似。数值型变量默认值是 0,布尔型默认值是 false,引用类型默认值是 null。变量的值可以在声明的时候指定,也可以在构造方法中指定。此外,静态变量还可以在静态语句块中初始化。
*静态变量可以通过:ClassName.VariableName的方式访问。
*类变量被声明为 public static final 类型时,类变量名称一般建议使用大写字母。如果静态变量不是 public 和 final 类型,其命名方式与实例变量以及局部变量的命名方式一致。

例子

public class Static_variable {//salary是静态的私有变量private static double salary;// DEPARTMENT是一个常量public static final String DEPARTMENT = "开发人员";public static void main(String[] args){Static_variable.salary = 10000 ;salary = 10000;System.out.println(DEPARTMENT+"平均工资:"+salary);}
}

结果

常量

 //Constantfinal double CM_PER_INCH = 2.54 ;final double paperWidth = 8.5 ;final double paperHeight = 11 ;System.out.println("Paper size in centiments :" + paperWidth * CM_PER_INCH + " by " + paperHeight * CM_PER_INCH);

结果

常量也分为局部常量 和 成员常量
在变量声明上加上final字段 ,即可实现常量

运算符

算术运算

     int a = 10;int b = 20;int c = 25;int d = 25;System.out.println("a + b = " + (a + b) ); System.out.println("a - b = " + (a - b) );System.out.println("a * b = " + (a * b) );System.out.println("b / a = " + (b / a) );System.out.println("b % a = " + (b % a) );System.out.println("c % a = " + (c % a) );System.out.println("a++   = " +  (a++) );System.out.println("a--   = " +  (a--) );

关系运算

 int a = 10;int b = 20;public void print2(){System.out.println("a == b = " + (a == b) );System.out.println("a != b = " + (a != b) ); System.out.println("a > b = " + (a > b) );System.out.println("a < b = " + (a < b) );System.out.println("b >= a = " + (b >= a) );System.out.println("b <= a = " + (b <= a) );}

位运算

 int a = 60 ; // 60 = 0000 0000 0000 0000 0000 0000 0011 1100 ;int b = 13 ; // 13 = 0000 0000 0000 0000 0000 0000 0000 1101 ;int c = 0 ;public void print3() // 注释只显示后8位{//与运算,对应位进行与处理c = a & b ; //  12 = 0000 1100 ;System.out.println("a & b = " + c);//或运算,对应位或处理c = a | b ; //  61 = 0011 1101 ;System.out.println("a | b = " + c);c = a ^ b ; //  49 = 0011 0001 ;System.out.println("a ^ b = " + c);c = ~a ;   //  -61 = 1111 1111 1111 1111 1111 1111 1100 0011 ;System.out.println("~a = " + c );c = a >> 2 ; // 15 = 0000 1111 System.out.println("a >> 2 = "+ c);c = a << 2 ; // 1111 0000 = 240System.out.println("a << 2 = " + c);c = a >>> 2 ; // 15 = 0000 1111System.out.println("a >>> 2 = " + c) ;}

逻辑运算

 boolean a = true;boolean b = false;int c = 5 ;boolean d = ( c <4 ) && ( c++ < 10) ;public void print4(){System.out.println("a && b = " + (a&&b));System.out.println("a || b = " + (a||b) );System.out.println("!(a && b) = " + !(a && b));//短路逻辑运算符 即利用性质,只需判断一个即可知道结果,另一个式子无法影响整体的结果System.out.println("使用短路逻辑运算符的结果为" + d);System.out.println(c);}

赋值运算

 int a = 10 ;int b = 20 ;int c ;public void print5(){c = a + b;System.out.println("c = a + b = " + c );c += a ;System.out.println("c += a  = " + c );c -= a ;System.out.println("c -= a = " + c );c *= a ;System.out.println("c *= a = " + c );a = 10;c = 15;c /= a ;System.out.println("c /= a = " + c );a = 10;c = 15;c %= a ;System.out.println("c %= a  = " + c );c <<= 2 ;System.out.println("c <<= 2 = " + c );c >>= 2 ;System.out.println("c >>= 2 = " + c );c >>= 2 ;System.out.println("c >>= 2 = " + c );c &= a ;System.out.println("c &= a  = " + c );c ^= a ;System.out.println("c ^= a   = " + c );c |= a ;System.out.println("c |= a   = " + c );}

条件运算

 int a = 10 ;int b = (a ==1) ? 20 : 30 ;public void print6(){System.out.println("Value of b is " + b);b = (a == 10) ? 20 : 30 ;System.out.println("Value of b is " + b) ;}

数学函数

Java中,有一个Math类,其中包含了许多静态方法,
Math类 , 其中的函数,可以帮助我们更快捷地编写程序

public class Main {public static void main(String [] args){//计算平方根double sq = Math.sqrt(10) ;System.out.println("10的开方为 : " + sq) ;//幂运算double y = Math.pow(1.5 , 2) ;System.out.println("1.5的2次方为 : " + y);//提供类一些三角函数double sin = Math.sin(Math.PI * 0.5) ;System.out.println("此三角函数的sin值为 : "+ sin) ;sin = Math.cos(Math.PI * 0.5) ;System.out.println("cos的值为" + sin );//Math类定义了两个常量的接近值System.out.println(Math.PI);System.out.println(Math.E) ;}
}

jieguo

强制类型转换

         double i = 5.555 ;int m ;m = (int ) i;System.out.println(m) ;

自增、自减运算

     System.out.println("自增运算符前缀运算后a="+a+",x="+x);System.out.println("自增运算符后缀运算后b="+b+",y="+y);

运算符

如果不使用圆括号,就按照给出的运算符优先级次序进行计算。同一个级别的运算符按照从左到右的赐福以此计算。(摘录Core Java Volume I)

类型 操作符 结合性
后缀 () [] . (点操作符) 左到右
一元 expr++ expr– 从左到右
一元 ++expr --expr + - ~ ! 从右到左
乘性 * /% 左到右
加性 + - 左到右
移位 >> >>> << 左到右
关系 > >= < <= 左到右
相等 == != 左到右
按位与 左到右
按位异或 ^ 左到右
按位或 左到右
逻辑与 && 左到右
逻辑或 || 左到右
条件 ?: 从右到左
赋值 = + = - = * = / =%= >> = << =&= ^ = =
逗号 左到右

字符串

在Java中,String是一个字符串类,也就是代表String不是对象。在标准Java的类库中定义的。
每一个用“”双引号括起来的都是String类。
在这里介绍String类中的几个常用的函数和 常见的误区。

创建字符串

String str ;//声明一个String 类的对象
String str1 = "hello world" ; //声明并赋值
String str2 = "" ;// 声明并赋值为空串

产生子串

     String greeting = "Hello" ;String s = greeting.substring(0, 3) ;System.out.println(greeting) ;System.out.println(s);

结果

拼接的用法

     //Java中 +号可以拼接String expletive = "Expletive" ;String PG13 = "deleted" ;String message = expletive + PG13 ;System.out.println("两个字符串拼接的结果 : " + message) ;//Java中,一个字符串与一个非字符串相连接,后者会转换为字符串int age =13 ;String rating = "PG" + age ;System.out.println(rating) ;//Java中,需要将多个字符串连接,且用界定符隔开String all = String.join("/", "S" , "M" , "L" , "XL");System.out.println(all) ;//Java中,重复多个字符串String s0 = "Java" ;String repeated = "Java".repeat(3) ;String repeateding = s0.repeat(4) ;System.out.println(repeated);System.out.println(repeateding) ;//Java中没有提供修改字符串中某个字符的方法greeting = greeting.substring(0 , 3) + "p!" ;System.out.println(greeting) ;

空串和null

     //空串和null串String greet = "hello" ;String g = "" ;int n = greet.length();

相等

     //Java中的字符串相等String s1 = "Hello" ;String s2 = "Hello" ;boolean e = (s2 == s1);System.out.println(e) ;String s3 = new String("abc");String s4 = new String("abc");boolean f = (s3 == s4) ;System.out.println(f);

码点和代码单元

     //Java中的码点和代码单元String zf = "												

Java——基本结构程序设计相关推荐

  1. (菜鸟教程)Java分支结构程序设计----if语句的使用

    if语句的使用 if主要有以下几种用法 if(布尔表达式) { //如果布尔表达式为true将执行的语句 } if(布尔表达式){ //如果布尔表达式的值为true }else{ //如果布尔表达式的 ...

  2. 《Java程序设计》实验报告——Java的基本程序设计结构

    浙江理工大学 <Java程序设计>  实验报告  20 19-20 20学年第 1学期      学  院 信息学院 班  级 计算机科学技术18(3) 姓  名 申屠志刚 学  号 20 ...

  3. JAVA实验——Java的基本程序设计结构

    实验一  Java的基本程序设计结构 实验目的 熟悉Java开发环境,建立Java工程,练习编程,会使用变量,字符串,数组,输入与输出等API. 实验内容 利用eclipse建立Java工程 必做题 ...

  4. CoreJava 笔记总结-第三章 Java的基本程序设计结构

    CoreJava 笔记总结 文章目录 CoreJava 笔记总结 第三章 Java的基本程序设计结构 数据类型 1. 整型 2. 浮点类型 3. char类型 4. boolean类型 变量与常量 1 ...

  5. 第2章(Java 的基本程序设计结构)

    第2章(Java 的基本程序设计结构) 文章目录 第2章(Java 的基本程序设计结构) 2.1一个简单的 Java 应用程序 2.2注 释 2.3数据类型 2.3.1整型 2.3.2浮点型 2.3. ...

  6. Java高并发程序设计入门

    转自:http://blog.csdn.net/johnstrive/article/details/50667557 说在前面 本文绝大部分参考<JAVA高并发程序设计>,类似读书笔记和 ...

  7. JavaSE-Adventure(VII) Java OOP 面向对象程序设计

    JavaSE-Adventure(VII) Java & OOP 面向对象程序设计 CONTENTS JavaSE-Adventure(VII) Java & OOP 面向对象程序设计 ...

  8. 2,Java语言基础-Java语言基本程序设计知识

    Java语言基础 Java语言基本程序设计知识 1,JavaAPI概述 1.1,什么是API API是指应用程序接口( Application Program Interface, API),故名思意 ...

  9. 今天开始拜读一本大神写的书《实战Java高并发程序设计 》

    基本信息 书名:实战Java高并发程序设计 定价:69.00元 作者:葛一鸣著 出版社:电子工业出版社 出版日期:2015-10-01 ISBN:9787121273049 字数:493000 页码: ...

最新文章

  1. java中如何就绝对定位,Java中如何定位资源
  2. Python使用matplotlib画图,设置曲线颜色、类型及标记
  3. 关于Transformer和BERT,在面试中有哪些细节问题?
  4. HDoj-1874-畅通project续-Dijkstra算法
  5. IP地址转化为数字,charindex ,SUBSTRING
  6. Spring boot + mybatis plus 快速构建项目,生成基本业务操作代码。
  7. mPaaS-RPC 拦截器各种场景下的使用指南
  8. C++学习笔记—srand()和rand()
  9. tesseract 提升 速度_2020斗式提升机料斗呼伦贝尔厂家定制哪家好
  10. java web传递参数_Javaweb的八种传值方式
  11. C++11 static_assert
  12. android 分辨率适配的方法
  13. 计算机word英语词汇大全,Microsoft Word - 计算机英语词汇汇总.pdf
  14. Excel加载宏.xla文件的使用方法
  15. 为什么存png还有白色底_为什么导出png还是有白底
  16. 怦然心动(Flipped)-2
  17. html5 app 打包,手机h5网站如何快速打包做成APP?
  18. 安装MySQL的正确步骤
  19. jquery怎么实现点击刷新当前页面
  20. 基于webrtc的视频聊天室(六)之客户端设计

热门文章

  1. MyBatis出现“无效列类型1111错误”的解决方案
  2. 智能网联云控车路协同的研究实践
  3. 15道APP测试面试题分享,助攻你的面试
  4. 正交频分复用调制(OFDM)-MATLAB
  5. JDK和JRE下載大全
  6. linux ls命令详解
  7. 华为q1设置虚拟服务器,快速设置手机解决 华为Q1系统解析_华为 路由Q1_网络设备无线网络和技术-中关村在线...
  8. 一款app如何做才能将产品运营好?
  9. 准Z源光伏并网系统MATLAB仿真模型,采用了三次谐波注入法SPWM调制
  10. 从模块化到NPM私有仓库搭建