Java基础之基本语法2_醉美微醺的博客-程序员宅基地

技术标签: java  Java基础  编程语言  知识点  hp实训  

java入门总结思维导图

https://blog.csdn.net/weixin_42570427/article/details/107701299

java的基本数据类型

八种:byte short int long float double char boolean
js是弱类型语言 java是强类型语言

类型转换

.自动类型转换:把小的放到大的里面
2.强制类型转换:把大的放到小的里面
3.把字符串类型转换成其他数据类型(使用对应包装类的parsexxx()方法)

package com.hpe.demo;

public class Demo3 {
    
	
	public static void main(String[] args) {
    
		/**
		 * java的基本数据类型
		 */		
		//1.byte  -128-127
		byte b=120;
		System.out.println("B:"+b);
//		b=128;右边的赋值数字不能超过左边数据类型的范围
		long l=1000L;//如果要定义成long类型,后面必须加上大写的L或者小写的l
		System.out.println("l:"+l);
		
		//2.小数
		double d=10;
		System.out.println("d:"+d);
		float f=12F;//float值必须加上大写的F或者小写f
		System.out.println("f:"+f);
		//3字符型
		char c='a';
		System.out.println("c:"+c);	
		//布尔类型 只有两个值:true false
		boolean b1=true;
		System.out.println("b1:"+b1);
		/**
		 * 类型转换
		 */
		System.out.println("========================");
		short s=10;
		int num=s;//把小的(short)转成的大的(int),可以自动类型转换
		System.out.println("num:"+num);
		int num1=20;
		//把大的箱子放到小箱子里面,我需要强制类型转换
		//需要转成什么类型的,在变量前面加上该类型就可以了
		short s1=(short)num1;
		System.out.println("s1:"+s1);
		System.out.println("==========================");
		//把字符串转成int类型,转换有前提,字符串的值不能包含中文
		String str="123";
		//每一个基本数据类型都有自己对应的包装类,每个包装类里面都封装了对应的转换方法
		//Integer是int类型的包装类
		int num2=Integer.parseInt(str);//把字符串转成了int
		System.out.println("num2:"+num2);
		//把字符串转成double
		String str1="456";
		double dob=Double.parseDouble(str1);
		System.out.println("dob:"+dob);
		//把int类型转成字符串
		int num3=110;
		String str2=num3+"";
		System.out.println("str2:"+str2);
		//第二种方式
		int num4=120;
		//转成什么类型,那么就去String类里面找方法
		String str3=String.valueOf(num4);
		System.out.println("str3:"+str3);
	System.out.println("我是\n中国人")	 
	}
}

标题算术运算符

+、- 、 * 、/、%

  • 1.自增运算 ++ 在原有的基础上,累加1(涨一个数)
  • 2.自减运算 – 在原有的基础上,累减1(降一个数)
  • 使用格式:
    可以在变量前面使用++ ++num
    可以在变量后面使用++ num++
  • 区别?
    1.如果单独使用的话,没有任何区别
    2.混合使用
    (1).如果是后++,先使用变量的值,然后在+1,先用后加
    (2),如果是前++,变量的值会立马+1,如果拿着累加的值进行使用,先加后用
public class Demo4 {
    
	public static void main(String[] args) {
    
		//加
		//作用在数字上面,求和
		int num=10;
		int num1=20;
		System.out.println(num+num1);
		//作用在字符上面,不是求和,而是两个字符串拼接
		String str="尼古拉斯赵四";
		int num2=20;
		System.out.println(str+num2);
	}
}
public class Demo4 {
    
	public static void main(String[] args) {
    
	System.out.println("==================");
		int num=10;
		++num;//单独使用
		System.out.println(num);		
		int num1=10;
		num1++;//单独用
		System.out.println(num1);//11		
		System.out.println("====================");
		int a=10;
		System.out.println(++a);//11		
		int b=10;
		System.out.println(b++);//10		
		int d=10;
		int e=10;
		int f=(d++)+(++d)+(d--)+(--e)+(e++)+(++e);
		      //10+12+12+9+9+11
		System.out.println(f);		
		int j=12;
		int h=16;
		int sum=(--j)+(h--)+(j++)+(++h)+(j--)+(++j);
		      // 11+16+11+16+12+12
		System.out.println(sum);
	}
}

赋值运算符:就是把右边的值赋值给左边的变量

  • =:不是相等的意思,
  • +=: a=a+b;可以简写成a+=b,
  • -=
  • *=
  • /=
  • %=
int a=10;
int b=10;
//	a=a+b; 
//可简写
a+=b

比较运算符

比较两个变量值 只是针对于基本数据类型进行比较

  • 比较后只能是Boolean,要么为true要么为false
  • == 比较两个值是否相等
    <、>、 !=、 >=、<=
  • 逻辑运算符
  • &(并且):所有的条件都为true,返回true,如果其中有一个为false,就为false
  • |(或者):只要有一个为true,就返回true,如果都为false,返回false
  • ^(异):相同为false,不同为true
  • !(非):本来是false改成true

逻辑运算符

&和|可以双写

  • 单写和双写有什么区别呢?
  • 1.短路与:如果左侧已经可以判断最终结果了,那么后面的判断将不会再被执行
  • 以后开发使用短路与,因为他的开发执行效率高
public class Demo7 {
    
	public static void main(String[] args) {
    
		boolean a=true;
		boolean b=false;
		System.out.println(a&b);//false
		System.out.println(4>3|7<2);//true
		System.out.println(true^true);//false
		System.out.println(!true);//false
		
		System.out.println("==========区别==============");
		int num=10;
		System.out.println(3>4 & ++num>5);
		System.out.println(num);//11
		
		int num1=10;
		System.out.println(3>4 && ++num1>5);
		System.out.println(num1);//10
		
		System.out.println("==============");
		int num2=10;
		System.out.println(4>3 | ++num2<10);
		System.out.println(num2);//11
		
		int num3=10;
		System.out.println(4>3 || ++num3<10);
		System.out.println(num3);//10
		
	}
}

三元运算符:

条件表达式?表达式1:表达式2
如果条件表达式为true,执行表达式1
如果条件表达式为false,执行表达式2

//定义两个整数,判断a是否大于吧,如果大于b,输出a大,相反输出b大
		int a=100;
		int b=200;
		String result= (a>b)?"a大":"b大";
		System.out.println(result);		
		//实现两个变量值的互换
		int m=6;
		int n=5;
		int t;
		t=m;
		m=n;
		n=t;
		System.out.println("m:"+m);
		System.out.println("n:"+n);

顺序结构

按照代码的抒写顺序从上往下依次执行

如何输入数据呢?

需要三步:
导入java.util.Scanner包;
语句import java.util.Scanner;
这句话要放在class定义的上面。
创建对象;
语句 Scanner sc = new Scanner(System.in);
接收数据
int a = sc.nextInt();
String name = sc.nextLine();

import java.util.Scanner;
public class Demo2 {
    
	public static void main(String[] args) {
    
		/*
		 * Scanner:用于接收键盘输入的数据
		 * */
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入姓名:");
		String name=sc.next();//接收字符串
		System.out.println("大家好,我叫:"+name+");
	}
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42570427/article/details/107701741

智能推荐

jQuery——动画、遍历、事件绑定_white camel的博客-程序员宅基地

目录jQuery动画jQuery遍历JQuery事件绑定DemojQuery动画有三种方式显示和隐藏元素1. 默认显示和隐藏方式show([speed,[easing],[fn]])hide([speed,[easing],[fn]])toggle([speed],[easing],[fn])参数:`speed:动画的速度。三个预定义的值(“slow”,“nor...

事件委托EventHandler<ClassE>与EventHandler_菜鸟翁的博客-程序员宅基地

class Program { static void Main(string[] args)//创建实例事件对象 { ClassE classE = new ClassE("张三", '男'); ClassS classS = new ClassS(); classS.ResultClass(classE); Console.ReadKey();

MyBatis 一级缓存实现_左键的博客-程序员宅基地

.写在前面        MyBatis是一个简单,小巧但功能非常强大的ORM开源框架,它的功能强大也体现在它的缓存机制上。MyBatis提供了一级缓存、二级缓存 这两个缓存机制,能够很好地处理和维护缓存,以提高系统的性能。本文的目的则是向读者详细介绍MyBatis的一级缓存,深入源码,解析MyBatis一级缓存的实现原理,并且针对一级缓存的特点提出了在实际使用过程中应该注意的事项。

Spring Boot---(4)SpringBoot异步处理任务_子凌@的博客-程序员宅基地

场景:现在需要上传一个Excel表格,数据量几万条,而且,上传解析后还需要进行计算,然后插入数据库。分析:上传和解析,都很简单,但是,这里如果使用同步方式,那么:上传--&gt;解析--&gt;运算--&gt;插入数据库;这个过程,前台的页面都是等待状态的,用户会以为页面卡死了。所以,这里需要做异步处理:1.上传--&gt;返回正在解析的标志;2.解析--&gt;运算--&gt;插入数据库;此时,当用户上传完文件后,页面立马跳转,解析,运算等工作,继续在后台进行,而用户可以不用等待。...

前端(axios)请求后端接口二次封装_秃头码猿的博客-程序员宅基地

在src的utils写request.js import axios from 'axios' import router from '@/router/routers' import { Notification, MessageBox } from 'element-ui' import store from '../store' import { getToken,getTenantIds } from '@/utils/auth' impo

LPC1768\1769之中断优先级与中断优先级组_weixin_30394981的博客-程序员宅基地

一、背景 USB在持续通信几十万次后,会出现USB IN中断丢失几次的情况,分析是中断优先级不够高,导 致USB中断在排队,然而排队还未完成,又有新的USB中断发生,致使其中断丢失。LPC1769的所有中 断默认为最高优先级"0"(数字越低,优先级越高),因此能想到的第一个解决办法既是降低除USB外所 有中断的优先级。 本篇即对...

随便推点

用docker下载配置mosquitto_Turbo Lee的博客-程序员宅基地

背景MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议,为此,它需要一个消息中间件 。MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多...

哪个小姐姐是假的?Yann LeCun 说合成人脸并不难分辨_Python开发者的博客-程序员宅基地

(给Python开发者加星标,提升Python技能)转自:机器之心近日,测试人类分辨「AI 合成人脸」能力的一个网页吸引了大家的关注。在未看攻略前,也许你也难以分辨真假。...

运行mapreduce 物理内存不够问题:_qq_29956925的博客-程序员宅基地_mapreduce.map.memory.mb多大合适

sqoop is running beyond physical memory limits. Current usage: 1.0 GB of 1 GB physical memory used; 1.6 GB of 2.1 GB virtual memory used. Killing container运行一次任务,运行了很长时间,出现了 ***Container is running beyond physical memory limits***的错误。Container [pid=2784

机器学习算法学习02:决策树的学习以及应用决策树解决Cora数据集论文分类问题_theworld666的博客-程序员宅基地

机器学习03:决策树的学习以及应用决策树解决Cora数据集论文分类问题文章目录机器学习03:决策树的学习以及应用决策树解决Cora数据集论文分类问题1.前言2.算法分析2.1算法概述2.2 算法优化3.算法代码3.1 决策属性优先级选择3.1.1 信息熵3.2.2 信息增益率3.3.3 基尼系数3.2 数据集的预处理3.3 决策树的生成3.4 决策树的分类4.算法运行与评估4.1 使用信息增益来划分数据集4.2 使用信息增益率划分数据4.3 使用基尼指数划分数据5.结语1.前言决策树方法作为非常经典的

JVM调优- jstat(转)_ankuaixiao2504的博客-程序员宅基地

jstat的用法用以判断JVM是否存在内存问题呢?如何判断JVM垃圾回收是否正常?一般的top指令基本上满足不了这样的需求,因为它主要监控的是总体的系统资源,很难定位到java应用程序。Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JV...

嵌入式五周实验_小杨肉串子的博客-程序员宅基地_stm32汇编

实验内容:在第三周STM32汇编语言编程与仿真调试的基础上,继续学习Keil下STM32的C与汇编语言混合编程。任务: 参考附件资料,完成C语言调用汇编函数; 修改参考代码,要求将原汇编语言 Init_1函数的类型改为 int Init_1(init) ,此函数功能修改为 传入一个整型数x,函数运行后返回整型数 x+100。 请编程实现,并仿真跟踪调试; 如果要求在汇编函数中调用一个 C语言写的函数,应该如何修改汇编代码? 目录C语言调用汇编函数修改代码